如何找到兩個分支之間的前一個合併提交?如何查找以前的合併提交
我想看看自上次將發佈分支合併到主分支後,主分支中的更改。要查看最後一個分支以來發布分支中的更改,就像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
。
這不是最有效的方法,但您可以查看'git log --graph --oneline'來查找提交。 – Shahbaz