2011-11-09 132 views
23

這裏是分支的示例圖/提交歷史:的Git分支清單合併成一個分支,但不是到另一個

A--- master 
|\ 
| B-----G--------P feature2 
|\  \  \ 
| -----F--J--L--O--Q integration 
|\ / // 
| C--E--H--K/ feature1 
\   /
    D---------M feature3 

在正常情況下,我們合併集成分支到主和完成。 但是......有一些特殊情況下,只有某些特定功能必須合併到主...例如:只有功能1。 在這種情況下,優點1分支合併到主(提交R):

A-------------------------R master 
|\      /
| B-----G--------P / feature2 
|\  \  \ /
| -----F--J--L--O--Q/  integration 
|\ / // /
| C--E--H--K--/------   feature1 
\   /
    D---------M     feature3 

問:我想一個命令,會告訴我哪些分支在整合合併,但沒有掌握。結果應該是:feature2和feature3。

這兩個命令之間的交叉引用是唯一的方法嗎?

git branch --no-merged master 
git branch --merged integration 

或者,它也可能是一個命令列表合併提交集成分支不提供在主。結果應該是:J,O,Q

+11

做得很好的ASCII藝術! –

回答

15
comm -12 <(sort <(git branch --no-merged master)) <(sort <(git branch --merged integration)) 
+0

任何Windows替代方法? –

+0

在windows中嘗試['fc'](http://ss64.com/nt/fc.html) – Andy

+0

好像msysgit的當前版本不支持進程替換...此外,git bash中的fc命令似乎成爲unix的一員,而不是窗戶之一。 –

相關問題