我怎么能在git中知道一个分支是否已经重新绑定到master?

这和我在git中如何知道分支是否已经被合并到master中非常相似? 但是关于检查重新发布的代码。 在我目前正在处理的仓库中,似乎有一些功能分支在他们的更改重新分配给主设备后被搁置搁置。 在我删除分支之前,检查是否已完成此操作的最佳方法是什么?

该分支上的大部分建议都建议使用分支上最后一次更改的SHA标识密钥来检查它是否存在于主分区中。 我可以看到这是确保合并的最佳方式,但是当您改变这个SHA时,这是最好的办法。

我有一个答案,我会发布,但我想知道,如果人们认为有更好的选择。


通过主分支日志中的特征分支的最后提交消息进行搜索很有效。

在主分支上做:

 git log -i --grep="<summary>"

您的功能分支中最后一次提交的评论片段在哪里? 这为您提供主分支副本的提交SHA,提交的作者和日期; 其中最后两个由rebase保存。 如果您的作者,日期和评论类似,那么您可以确信更改已重新发布到您正在检查的日志的分支上。

如果使用rebase将所有功能分支提交压缩为master上的单个提交,这将不起作用。

此方法可能存在其他问题,请在评论中发布它们或在可能的地方提供更好的答案。


如果rebase忠实于原始提交信息,TafT的答案将很好。 另外,使用

git log --oneline --cherry master...some-branch

将显示=每个提交已被完全相同的从一些分支复制到主。

如果发生挤压等情况,提交消息会发生变化,或者如果您的重新布局发生冲突,那么这两种解决方案都不会起作用。 在这种情况下,我建议如下(Checkout去分离HEAD,这样我们不会无意中推入这个合并):

git checkout master~0
git merge some-branch

除非你的代码发生了巨大的变化,否则如果合并结果没有改变,那么分支已经被改版了。 否则,它显然没有。

链接地址: http://www.djcxy.com/p/26059.html

上一篇: How can I know in git if a branch has been already rebased onto master?

下一篇: git cleanup old branches