小编Rol*_*ulz的帖子

如何查找以前的合并提交

如何找到两个分支之间的先前合并提交?

自从上次将发布分支合并到主分支以来,我希望看到我的主分支中的更改.要查看自上一个分支以来发布分支中的更改,它就像一样简单git diff ...release

但显然git diff release...不起作用,因为它还包括上次合并之前的所有更改.因此,我认为我需要将最后一次合并的提交ID传递给它git diff

git log --reverse --ancestry-path `git merge-base HEAD release`.. \ 
        --format=format:%H|head -n1
Run Code Online (Sandbox Code Playgroud)

似乎工作,可以使用git diff $(...),但它似乎非常复杂.有更简单的解决方案吗?

  I
 / \
A1 B1
 \ |
|  M   
|  |
A2 B2
Run Code Online (Sandbox Code Playgroud)

I是最初的提交.A[12]是发布提交,B[12]是主提交.M是先前的提交.在示例中,最后一次合并和主控之间的更改只是B2引入的更改.git merge-base A2 B2返回A1.并git diff B2 A1包括更改B1.因此,问题是如何在一般更复杂的情况下找到M,以便人们可以在git diff M B2不必手动查找的情况下运行M.

git

9
推荐指数
2
解决办法
2369
查看次数

标签 统计

git ×1