Git列表分支合并到一个分支但不合并到另一个分支

时间:2011-11-09 20:20:54

标签: git version-control

以下是分支/提交历史记录的示例图表:

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

在正常情况下,我们将集成分支合并到master并完成。 但是......有一些例外情况,只有一些特定的功能必须合并到主... ex:only feature1。 在这种情况下,feature1分支合并为master(commit R):

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

问题:我想要一个命令,告诉我哪些分支在集成中合并但不在master中合并。结果应为:feature2和feature3。

这两个命令之间的交叉引用是唯一的方法吗?

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

或者,它也可以是在master中不存在的集成分支中列出合并提交的命令。结果应为:J,O,Q

1 个答案:

答案 0 :(得分:18)

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