2014-09-10 83 views
0

運行git log --first-parent -p向我顯示了我感興趣的提交,但我希望看到合併提交以及非合併提交的補丁(-p僅顯示用於非合併提交的補丁)。查看補丁合併提交

有沒有辦法看到補丁提交合並?

回答

1

有一堆選項可以控制這個。

差異合併提交的基本問題是,有多個父母(根據定義,因爲它是一個合併)。什麼git show(其中,我知道,是不是git log,掛在了一會兒)默認情況下,做的是告訴你一個「組合差異」,這是在另一個不同的文檔頁面適當的描述,爲git diff-tree

- ç

此標誌改變合併提交的顯示方式(這意味着,只有當該命令被給定的一個樹肥胖型,或--stdin它是有用的)。它會同時顯示每個父級與合併結果的差異,而不是顯示父級和結果之間的pairwise差異(這是-m選項的作用)。此外,它只列出所有父母修改過的文件。

--CC

此標誌更改合併提交顯示補丁的方式,以類似的方式向-c選項。這意味着-c-p選項,並進一步壓縮補丁輸出,方法是省略父母內容只有兩個變體的無趣羣件,並且合併結果不加修改地挑選其中的一個。當所有的hunks都不感興趣時​​,就像在任何其他「空比較」情況下一樣,提交本身和提交日誌消息也不會顯示。

我們現在準備跳所有的出路git log,它實現了所有三個選項(-c--cc,並且-m;注意--cc使用兩個-字符,而其他人只使用一個)。添加其中的一個將爲合併提交生成一個補丁。具體來說,你可能想要-m。這在實際上documentation描述(靠近網頁的結尾):

git log -p -m --first-parent ::

顯示歷史,包括改變diff文件,但只能從 ``主分支「的角度來看,跳過來自合併的 分支的提交,並顯示合併引入的更改的完全差異。 只有遵循嚴格的合併所有 主題分支時保留在單個集成分支上的策略時纔有意義。

+0

正是我以後的樣子!謝謝! – zoran119 2014-09-11 00:25:11