解释“git cherry”命令的输出?

时间:2013-12-06 18:39:24

标签: git

我有一个包含许多分支的Git存储库:

MYPROJ-1
MYPROJ-12
MYPROJ-73
MYPROJ-115
MYPROJ-217
integration
master

我需要一些方法来确定分支是否已与“master”合并。一位同事推荐了这个命令:

git cherry <thisbranch>  <thatbranch>

例如:

git cherry MYPROJ-217 master

但这似乎只能告诉我在MYPROJ-217分支中的“主”分支中的内容 - 与我想要的完全相反。如果我颠倒了论点,它什么也没有显示。

有人可以帮我解决这个问题吗?我只是想看看分支是否已合并为主分支。

1 个答案:

答案 0 :(得分:2)

根据the documentation for git cherrygit cherry thisbranch thatbranch会列出thatbranch但不在thisbranch中的所有提交。因此,如果您运行git cherry master MYPROJ-217并且没有输出,则MYPROJ-217中没有master中没有提交的提交。因此,MYPROJ-217必须已合并为master。 (或者,也许,如果它的承诺被重新定位或挑选给主人。)

如果你想要的只是看看哪些分支没有合并到主人,那么这应该做你想要的:

git branch --no-merged master

(参见:git finding unmerged branches