以下是分支/提交历史的示例图:
A--- master
|\
| B-----G--------P feature2
|\ \ \
| -----F--J--L--O--Q integration
|\ / / /
| C--E--H--K / feature1
\ /
D---------M feature3
在正常情况下,我们将集成分支合并到主分支中即可完成。但是...在某些特殊情况下,只有某些特定的功能必须合并到主分支中...例如:仅限于feature1。在这种情况下,将feature1分支合并到主分支中(提交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
或者,它也可以是一个命令,列出在集成分支中但不在主分支中的合并提交。结果应为:J、O、Q。