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

Gui*_*rin 23 git version-control

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

A---  master
|\
| B-----G--------P feature2
|\       \        \
| -----F--J--L--O--Q integration
|\    /     /  /
| C--E--H--K  /    feature1
 \           /
  D---------M feature3
Run Code Online (Sandbox Code Playgroud)

在正常情况下,我们将集成分支合并到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
Run Code Online (Sandbox Code Playgroud)

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

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

git branch --no-merged master
git branch --merged integration
Run Code Online (Sandbox Code Playgroud)

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

Ada*_*ruk 19

 comm -12 <(sort <(git branch --no-merged master)) <(sort <(git branch --merged integration))
Run Code Online (Sandbox Code Playgroud)