[英]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-branch
和HEAD
之間的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.