Git Git 获取两个 branch/commit (分支 / 提交) 共同的祖先

ery · 2015年03月03日 · 最后由 ery 回复于 2015年03月09日 · 10032 次阅读

当你做 CodeReview 的时候, 你需要知道,当前功能分支,到底做了那些变化。 当然 git diff 可以帮助你,但是和那个 commit diff 哪? 因为当前功能分支,可能已经提交了很多新的 commit,你已经无法找到起点。

这个时候 git merge-base 可以帮助你。

用法如下:

git merge-base commit1 commit2

https://www.kernel.org/pub/software/scm/git/docs/git-merge-base.html

默认为何没显示这个命令?

#1 楼 @mogodb

The most commonly used git commands are:

#1 楼 @mogodb linux 下用 man git 可以看到该命令 早用 Linux 早解脱

#2 楼 @alixiaomiao

好吧,我只能说用过少数命令 图标怎么搞出来的?

喜爱

#4 楼 @mogodb

'>' markdown 的 blockquote

直接 diff master branch 不就可以了么……

#6 楼 @bcho

master : commit-1 -> commit-2 -> commit-3 -> commit-4 -> commit-5 -> commit-6
branch_xxx:                    -> commit-x3 -> commit-x4 
git diff master branch_xxx 

等效于

git diff commit-6 commit-x4  

而我在 code review 的时候,希望做以下的比较

git diff commit-2 commit-x4  
需要 登录 后方可回复, 如果你还没有账号请 注册新账号