具有分支提交的当前版本的git diff

时间:2013-09-17 09:49:07

标签: git branch diff

我必须检查其他人在自己的分支中完成的代码。他几周前从我们的主要分支机构开始分支。

从那以后,两个分支都发生了分歧,我需要确定他做了哪些改变。

如何识别“分支提交”(他分支的提交)并区分他提交的当前版本VS?

2 个答案:

答案 0 :(得分:2)

识别分支提交的最佳方法是使用merge-base:

git merge-base main-branch other-branch

但是git提供了一些其他选择来做你需要的。如果要查看当前分支引入的更改,可以使用以下语法:

git diff main-branch...HEAD

此语法将计算main-branchHEAD之间的合并基础,然后显示HEAD引入的所有更改。如果您当前不在要检查的分支上,则只需将HEAD替换为分支的名称:

git diff main-branch...other-branch

ProGit也有description of this

要查看分支git log引入的更改,您需要使用双点表示法(..):

git log main-branch..HEAD

这将显示当前分支引入的不在主分支上的提交。

使用git log的...表示法将显示自合并库以来在任一分支上引入的所有提交,这不是您想要的。

答案 1 :(得分:0)

这些信息非常简单:“分支”提交是“审核”提交和“主要”提交的最后一个共同祖先。

gitk 等工具可以图形方式显示此类信息;您可以轻松地复制提交哈希值,以便与命令行工具一起使用。