我使用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不会检测我的特性分支?