我有兩個分支,我正在將branch1合併到branch2中,但沒有快進。如何顯示與Git中沒有快進合併的文件?
合併後,我運行命令'git show',我只收到提交的消息(這是從不快進的合併),沒有更改的列表文件。
如何獲取合併中更改的列表文件?
解決:
當在合併後BRANCH2,我用了以下內容:
git diff HEAD~
返回了正確的結果。
我有兩個分支,我正在將branch1合併到branch2中,但沒有快進。如何顯示與Git中沒有快進合併的文件?
合併後,我運行命令'git show',我只收到提交的消息(這是從不快進的合併),沒有更改的列表文件。
如何獲取合併中更改的列表文件?
解決:
當在合併後BRANCH2,我用了以下內容:
git diff HEAD~
返回了正確的結果。
當branch2合併後,我使用以下內容:
git diff HEAD~
返回正確的結果。
你試過git whatchanged
命令嗎? (未測試):
git whatchanged --oneline
或
git whatchanged --oneline ..HEAD^
git whatchanged --oneline ..HEAD^2
--oneline
這是一起用於 「
--pretty=oneline --abbrev-commit
」 的簡寫。我需要的是看到branch1中合併到branch2的所有文件。
branch2
這裏可以用HEAD^2
表示,HEAD的第二個父母。
至於「只是文件列表」:
git diff --name-status ..HEAD^2
應該給你只是一個與他們相關聯的狀態文件的列表。
合併後,檢查git reflog
的輸出,該輸出用於跟蹤分支提示的位置。第一行應該是你的合併提交,第二行應該是合併之前的branch2
。如果看起來正確的,你可以從輸出先前提交的時候可以被稱爲[email protected]{1}
的第二列中看到,所以看到哪些文件被合併改變了,你可以這樣做:
git diff --stat [email protected]{1}
讓我更接近,但branch1有多個提交。如何獲得所有提交的差異? – chafnan 2010-07-14 15:53:13
所以你希望看到'branch1'和'branch2'中的所有文件從發生分歧到合併時都發生了變化?如果是這樣,並假設您的分支仍然在合併提交,我想你可以用'git diff --stat $(git merge-base HEAD^1 HEAD^2) – 2010-07-15 07:23:37
我認爲以下兩個答案都表明很難準確解釋你所要求的內容 - 它可能有助於添加一個ASCII藝術提交圖,顯示你想查看哪些提交之間的差異。 – 2010-07-15 07:52:38
不要像上面那樣添加求解,而要爲自己的問題添加一個答案。你不會得到有趣的接受點,但至少人們會知道你的意圖和你找到的答案。 – 2010-08-27 14:35:23