我已将两个存储库与mqextension合并在一起,为我提供了一个如下所示的存储库:
.. [a] --- [b] --- [c] --- [d]<- default branch
/
[x] --- [y] <- feature branch
问题在于,当我尝试推动这个时,我得到:
hg push --new-branch
abort: push creates new remote head x!
(did you forget to merge? use push -f to force)
我该如何解决这个问题?我假设我需要将[a]与[x]合并,以便我有一个共同的祖先。这可能吗?如果我强行推动,我会引起问题吗?
编辑 - 经过一番研究后,我发现我试图将存储库简化得太多了......存储库看起来像这样:
.. [a] --- [b] --- [c] --- [d]<- default branch
\
[f] --- [g] --- [z] <- integration branch
/
[x] --- [y] <- feature branch
/
[w] <- default branch from old repository.
我认为发生的事情是我有两个头用于默认分支,而hg并不想将它们都推到掌握状态。
我应该将两个默认值合并在一起吗?
答案 0 :(得分:0)
没有理由合并两个不相关的存储库会导致此问题。我刚刚尝试过它并没有任何问题。
如果时间在图表中从左向右流动,那么您只有一个头[d]
。在两个回购合并后,该图看起来像我期望的那样。
错误消息看起来像其他人已将更改推送到中央存储库,因此您需要hg pull
和hg merge
将其更改合并到您的分支中。
编辑 - 编辑后添加更多信息,您似乎确实在默认分支上有两个头,是的,您应该将它们与hg merge
合并。