问题描述
|
我正在尝试找出如何在功能上使用按功能分支的方法,但是创建了一个可以使用的分支,并将其合并回默认值,无法将更改推回主存储库。最好的办法是什么?
我创建了一个分支“量具定制”,在该分支中做了一些工作,然后将其合并回默认值。默认情况下进行了更多更改,现在我想将其提交回我的主存储库。但是当我尝试时,我得到:
中止:推送创建新的远程分支:标尺定制!
提示:使用\'hg push --new-branch \'创建新的远程分支
我认为分支不会显示在主存储库中,并且通过本地合并,我可以以某种方式在分支(或潜在的分支)中工作,然后在测试完所有内容后将其推送到主存储库中。
标尺定制分支是否仍应显示?我真的以为在此阶段只会看到默认值吗?但是我不是正确地理解了工具吗?我应该创建远程分支吗?
理想情况下,我希望能够为每个功能打开一个分支,并且可以同时运行3或4个这样的分支(这是我公司的工作方式),因此我希望能够牢牢掌握现在的事情。
解决方法
从技术上讲,您可以使用
--new-branch
将新分支提交到主仓库。如您的屏幕快照所示,实际上并没有一个新的带有拓扑视图头的分支,而是一个来自命名空间视图的头,即,当hg
中止您的推送时,它只希望您的明确确认将新分支(名称)添加到远程回购。
但是,对于像您的临时要素分支这样的任务,更常见的工作流程是不使用命名分支,而使用匿名/标记分支或单独的克隆。命名分支通常用于长期分支,如稳定分支,旧分支等。如果您创建一个匿名/已添加书签的分支,并在其功能完成时将其合并,则推入时不会抱怨hg
。
在这种情况下,经常建议阅读的是《 Mercurial分支指南》。
, 合并两个分支不会摆脱它们中的任何一个。您需要手动切换到功能分支并执行以下操作来关闭功能分支:
hg commit --close-branch -m \'Closing branch\'