如何找到两个分支之间的先前合并提交?
我想查看自上次将发布分支合并到主分支以来我的主分支中的更改。要查看自上一个分支以来发布分支的变化,就像git diff ...release
但显然git diff release...
不起作用,因为它还包括上次合并之前的所有更改。因此,我认为我需要最后一次合并的提交 ID 将其传递给git diff
git log --reverse --ancestry-path `git merge-base HEAD release`.. \
--format=format:%H|head -n1
似乎可以工作并且可以与 一起使用git diff $(...)
,但它似乎非常复杂。有没有更简单的解决方案?
例子
I
/ \
A1 B1
\ |
| M
| |
A2 B2
这I
是初始提交。A[12]
是发布提交并且B[12]
是主提交。M
是之前的提交。在示例中,最后一次合并和主节点之间的更改只是 B2 引入的更改。git merge-base A2 B2
返回A
1。并git diff B2 A1
包括 的变化B1
。因此,问题是如何在一般更复杂的情况下找到 M 以便git diff M B2
无需手动查找即可运行M
。