解释"git cherry"命令的输出?



我有一个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分支中没有的"主"分支中的内容——与我想要的恰恰相反。如果我推翻这些论点,那就说明不了什么。

有人能帮我吗?我只是想看看一个分支是否已经合并到master。

根据git cherry的文档,git cherry thisbranch thatbranch将列出thatbranch中但不在thisbranch中的所有提交。因此,如果运行git cherry master MYPROJ-217而没有得到输出,那么MYPROJ-217中就没有master中没有的提交。因此,MYPROJ-217一定已经被合并到master。(或者,也许是因为它的提交被重新设置了基础,或者被选到了master上。)

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

git branch --no-merged master

(请参阅:git查找未合并的分支)

最新更新