如何检测是在远程删除分支合并(How to detect merged branches that

2019-09-27 02:13发布

我使用Git,我尝试同步我的地方分支机构与远程的。 我始终保持一个“主”,并在本地和远程存储库是“发展”的分支。 当我创建一个新的功能,我为它创建一个分支,命名为这样的:功能/ MY-新功能名称。

当我完成的功能工作,我承诺,推动所有更改到远程仓库(我用Gitlab我的远程回购)。 然后,我合并特性分支到开发分支,删除使用GitLab接口源科(特性分支)。 在这一点上,该功能被合并到开发分支,只有在远程存储库中删除。

完成这些步骤后,我想能到我的本地分支同步的状态我的远程分支。 也就是说,我想拿到我的特性分支合并到发展,并从本地回购删除。

要做到这一点,我运行以下命令:

git checkout develop
git pull
git branch -d feature/my-new-feature-name

当我这样做,Git会显示此消息:

error: The branch 'feature/my-new-feature-name' is not fully merged.
If you are sure you want to delete it, run 'git branch -D feature/my-new-feature-name'.

当然,我可以只运行使用-D标志的命令,但我想明白为什么说的Git分支就不会合并。

我发现这个在堆栈溢出几个问题,但在所有这些人建议,以便检查合并后的分支运行此命令: git branch --merged

当我运行此命令的Git显示我只有开发分支,仿佛功能/ MY-新功能名称不合并。 但实际上功能/我的新特征名称被合并(远程回购),并拉至当地的一个。 我还可以看到我的合并运行提交git log 。 为什么作为合并到开发Git不会检测我的特性分支?

Answer 1:

您当地的分行缺乏比较发展,但是当一个承诺:这次合并提交由您的PR由feature-branch > develop

要么你只是忽略的git的提示,去你的branch -D为你考虑,或者你也可以(哪怕只是尝试一下)现在合并发展回到你的功能分支(在这一点上快进)和branch -d不会抱怨了。



Answer 2:

问题是在合并时,壁球标志设置为true。 Git的前提是你不合并壁球检测合并。



文章来源: How to detect merged branches that were deleted in remote
标签: git gitlab