获取已合并到另一个分支的分支列表

时间:2014-04-25 14:38:25

标签: git branch

我在以非复杂的方式做这件事时遇到了一些麻烦...目前我可以通过输出分支来找出合并到分支中的哪些分支 - 从目标分支和主分支,写入输出从那些命令到文件,然后区分这两个文件。有没有人有更好的方法来获取这些信息?

例如,分支branch1,branch2和branch3都是从master中删除的,并且对它们进行了开发工作。然后,branch1和branch2合并到integrationBranch中。该命令应该能够告诉我branch1和branch2被合并到integrationBranch中。

编辑:

当我运行git branch --merged时,首先合并的分支总是从输出中删除。

示例:

git checkout inegraionBranch
git merge origin/branch1
git merge origin/branch2

git branch merged
*integrationBranch
branch2

1 个答案:

答案 0 :(得分:5)

如果是您的示例,则需要使用git branch -a --merged integrationBranch

两个分支origin/branch1origin/branch2是远程分支,默认情况下不会与git branch一起列出,因此除非您使用-a,否则它们都不会显示在您的输出中开关。

我猜你看到branch2的原因是你可能有一个名为branch2的本地分支被合并(即,问题不在于命令正在删除第一个分支)

编辑:

要将所有分支合并到integrationBranch但不归入master,您可以这样做:

git branch --list -a --merged integrationBranch | sed 's/^..//;s/ .*//' | xargs git branch --list -a --no-merged master