繁体   English   中英

当前版本的git diff与分支提交

[英]git diff of current version with branching commit

我必须检查别人在他自己的分支机构中完成的代码。 他几周前从我们的总公司分支了。

从那以后,两个分支机构都分歧了,我需要确定他进行了哪些更改。

如何识别“分支提交”(他从中分支的提交)并与当前版本VS的提交进行比较?

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

git merge-base main-branch other-branch

但是git提供了其他一些替代方法来满足您的需求。 如果要查看当前分支引入的更改,可以使用以下语法:

git diff main-branch...HEAD

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

git diff main-branch...other-branch

ProGit也对此进行了描述

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

git log main-branch..HEAD

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

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

该信息非常有用:“分支”提交是“审阅”提交和“主”提交的最后一个共同祖先。

gitk之类的工具可以图形化地显示这种信息。 您可以轻松地从中复制提交哈希,以供命令行工具使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM