标签: git

如何获得git子树差异?

我有一个已安装另一个存储库的存储库

git subtree add -P some/path  otherremote otherbranch
Run Code Online (Sandbox Code Playgroud)

开发已经发生了一些局部变化,但也进行了几轮合并:

git fetch otherremote
git subtree merge -P some/path otherremote/otherbranch
git commit
Run Code Online (Sandbox Code Playgroud)

现在我想在otherremote/otherbranch的HEAD和某些/ path的树之间获得差异.我怎样才能做到这一点?

git git-diff git-subtree

11
推荐指数
1
解决办法
3630
查看次数

什么git钩子适用于'git rebase --continue'?

我正在尝试为我的组织构建一组git hook脚本,我想使用的一个(对于我自己的多个项目)将检查git rebase --continue我的代码中没有任何冲突标记. (<<<<<,=====,或>>>>>).

我已经预先提交了这样一个脚本,但是什么脚本适用于rebase --continue

git githooks

11
推荐指数
1
解决办法
956
查看次数

如果有变化,如何让Jenkins git提交?

我有一个Jenkins作业,它使用Maven(mvn clean install)从github.com存储库的主分支构建,然后检查Java文件中的许可证头和缺少的NOTICE文件,并在必要时添加它们(mvn license:format notice:generate).有时这会导致更改或添加文件,有时不会.

每当有已作出(由许可证插件)的任何改变我要推更改到GitHub库.

现在我无法弄清楚如何最好地实现这一目标.我在Maven许可插件之后添加了一个shell构建步骤,执行git命令:

git add . # Just in case any NOTICE files have been added
git commit -m "Added license headers"
Run Code Online (Sandbox Code Playgroud)

git add .单独工作,即不会破坏构建,即使没有添加任何文件.但是,git commit如果根本没有任何更改,请中断构建.

我不担心回到github,因为我相信Git Publisher的后期构建操作可以为我做这件事.有人可以指点我正确的git提交方向吗?

git bash build jenkins

11
推荐指数
3
解决办法
7610
查看次数

git无法删除本地分支

我试图跟踪一个远程分支:

$ git checkout -b --track global/master
Run Code Online (Sandbox Code Playgroud)

并且git创建了一个实际上称为"--track"的分支+现在当我输入:

$ git branch -D --track
Run Code Online (Sandbox Code Playgroud)

它不会删除分支(我认为git假设它是一个标志/选项而不是分支名称)

我也试过了

$ git branch -D '--track'
Run Code Online (Sandbox Code Playgroud)

$ git branch -D \--track
Run Code Online (Sandbox Code Playgroud)

没有结果

UPDATE =============================

谢谢...有效:

$ git branch -D -- --track
Run Code Online (Sandbox Code Playgroud)

git git-branch

11
推荐指数
1
解决办法
1万
查看次数

使用git运行TFS-2013的频繁错误

我们已将TFS-2013配置为使用git存储库.一切都在大部分时间都很好,但是我们会出现间歇性的构建错误 - 随着时间的推移,它们甚至会变得更加频繁.

发生问题时,我们可以在构建日志中找到这些内容:

异常消息:libgit2引发了一个错误.Category = Os(错误).

无法删除目录.无法删除文件'C:/Builds/1/MyTool/MyTool_CI/src/.git/objects/pack/pack_git2_a02380':进程无法访问该文件,因为该文件正由另一个进程使用.

(输入LibGit2SharpException)

异常数据字典:

libgit2.code = -1

libgit2.category = 1

什么可能导致这些错误..?

git tfsbuild tfs2013

11
推荐指数
1
解决办法
870
查看次数

git merge已经是最新的,当它不是时

在使用git和bitbucket.com处理项目时,有以下分支:

master
development
uat
production
Run Code Online (Sandbox Code Playgroud)

当我开始项目工作时,我采用了一个开发的git克隆(自然地思考它包含最先进的代码).几个月后的工作,现在结果是生产分支中的代码(当前正在生产中运行)的版本比我在开发分支中开始的代码更新.

当我试图:

git checkout development
git merge production
Run Code Online (Sandbox Code Playgroud)

它说"已经是最新的".我去的时候:

git diff production..development
Run Code Online (Sandbox Code Playgroud)

它吐出了很多变化,说生产分支的代码不在开发分支中.如何在不擦除我几个月工作的情况下使生产代码与开发代码合并?

git merge git-merge

11
推荐指数
1
解决办法
2万
查看次数

Heroku没有更新我的代码?

因此,我在我的地方,跑了一些CSS的变化git add .,git commit -am "Hello",git push heroku master,出于某种理由二commmits前,东西停止得到更新.

它提交很好,并没有显示任何不寻常的输入.

我尝试制作一个新分支并将其推送到heroku分支机构,但仍然是虚无... 是什么赋予了?

git heroku

11
推荐指数
4
解决办法
1万
查看次数

gitlab通过命令行获取特定分支的tar

我正在使用gitlab.当我进入界面时,在每个分支上我都可以下载源代码作为zip,tar或者任何东西.

我正在制作rpm规范文件,我需要使用命令行下载tar球.因为我添加了我的rsa密钥,我可以毫无问题地执行git clone:

git clone http://gitlab/group/project.git
Cloning into 'project'...
remote: Counting objects: 1885, done.
remote: Compressing objects: 100% (826/826), done.
remote: Total 1885 (delta 1194), reused 1496 (delta 954)
Receiving objects: 100% (1885/1885), 1.30 MiB | 0 bytes/s, done.
Resolving deltas: 100% (1194/1194), done.
Checking connectivity... done
Run Code Online (Sandbox Code Playgroud)

无论如何

wget http://gitlab/group/project/repository/archive.zip
Run Code Online (Sandbox Code Playgroud)

给我这些错误:

Resolving gitlab (gitlab)... 10.1.253.75
Connecting to gitlab (gitlab)|10.1.253.75|:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.
Run Code Online (Sandbox Code Playgroud)

git command-line gitlab

11
推荐指数
2
解决办法
1万
查看次数

Git stash用未跟踪文件修补

如何使用未跟踪的文件进行Git存储,将其推送到补丁并在另一台计算机中恢复.

git stash save -u feature
git stash show -p > patch
git apply patch
Run Code Online (Sandbox Code Playgroud)

但路径没有未跟踪文件

git

11
推荐指数
1
解决办法
4745
查看次数

git commit对象的文件格式是什么?

上下文:我希望能够通过我的git提交消息和提交进行搜索而无需经历令人费解的复杂git grep命令,因此我决定看看如何存储git commit消息.

我看了一下.git文件夹,它看起来像是存储的提交

.git/objects 
Run Code Online (Sandbox Code Playgroud)

.git对象文件夹包含一堆名称为a6和9b的文件夹.这些文件夹中的每个文件夹都包含一个名称类似于提交的文件2f29598814b07fea915514cfc4d05129967bf7.当我在文本编辑器中打开其中一个文件时,我会感到胡言乱语.

  1. 什么文件格式是这个乱码/如何存储git提交对象?
  2. 在这个git commit日志中,文件夹9b包含一个commit sha

    aed8a9f773efb2f498f19c31f8603b6cb2a4bc
    
    Run Code Online (Sandbox Code Playgroud)

    为什么,并且是否存在多个提交sha将存储在文件9b中的情况?

  3. 有没有办法将这个乱码转换成纯文本,以便我可以在文本编辑器中混淆提交?

git

11
推荐指数
3
解决办法
7473
查看次数