Ita*_*atz 13 version-control mercurial tortoisehg
我阅读了有关此问题的所有SO问题,但仍然无法解决.我正在使用TortoiseHg.我在一个分支机构工作,现在我想把它合并回主分支.我撤消了在两个分支中进行的所有更改,更新到主分支,并合并(并提交).但是当我试图推动所有这些时,我得到"中止:推送创建新的远程头部"消息.我也试过(正如在SO中的一个问题中所建议的)使用--close-branch选项关闭分支.我唯一没有尝试的是"强迫"推动.
有什么建议?或者是推力唯一的选择?

只针对遇到此问题的其他人.导致这个问题的原因是在我开始处理新分支之前我没有推出的默认分支上的一些本地修订.
我已经为我的新分支合并了我为默认分支提取的最新版本,但是这些将本地更改留给默认分支已提交但未推送.
如果您尝试推送它们,那么创建远程头部的不是您的新分支,而是创建远程头部的默认分支的未推送修订.
当我用hg strip -r 1234删除那些修订版时
hg push --new-branch
Run Code Online (Sandbox Code Playgroud)
完美了.
让我走上正轨的原因是
hg heads
Run Code Online (Sandbox Code Playgroud)
显示我有两个头,两个头都有默认分支的名称,具有不同的修订号.
我只是尝试了类似的设置,我得到了相同的警告.显然,虽然你试图推动的第二个头是关闭的,但它在推动期间被视为另一个头.并且关闭两个头也似乎也不是可以推动的.
您可以强制推送,它应该没问题,但如果您在visualization分支上保留多个头,最终可能会遇到同样的问题,就像您已经拥有更改集14和20.要一劳永逸地解决问题,我会改为建议合并两个变更集(14和20)并重新关闭最终的头部.