1

我必须审查其他人在他自己的分支中完成的代码。他几周前从我们的主要分支分支出来。

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

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

4

2 回答 2

2

识别分支提交的最佳方法是使用合并基础:

git merge-base main-branch other-branch

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

git diff main-branch...HEAD

此语法将计算 和 之间的合并基础main-branchHEAD然后向您展示HEAD. 如果您当前不在要检查的分支上,则只需替换HEAD为分支的名称:

git diff main-branch...other-branch

ProGit 对此也有描述

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

git log main-branch..HEAD

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

带有 git log的...符号将向您显示自合并基础以来在任一分支上引入的所有提交,这不是您想要的。

于 2013-09-17T10:10:22.660 回答
0

这些信息很容易获得:“分支”提交是“审查”提交和“主要”提交的最后一个共同祖先。

gitk这样的工具可以以图形方式向您显示此类信息;您可以轻松地从中复制提交哈希以用于命令行工具。

于 2013-09-17T10:02:22.690 回答