我在以非复杂的方式做这件事时遇到了一些麻烦...目前我可以通过输出分支来找出合并到分支中的哪些分支 - 从目标分支和主分支,写入输出从那些命令到文件,然后区分这两个文件。有没有人有更好的方法来获取这些信息?
例如,分支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
答案 0 :(得分:5)
如果是您的示例,则需要使用git branch -a --merged integrationBranch
两个分支origin/branch1
和origin/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