2011-11-09 131 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的一员,而不是窗户之一。 –

相关问题