0

我将两个存储库与 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 不想将它们都推到 master 上。

我应该将两个默认值合并在一起吗?

4

1 回答 1

0

没有理由合并两个不相关的存储库会导致此问题。我刚刚尝试过,它完全没有问题。

如果时间在您的图表中从左到右流动,那么您只有一个 head [d]。在合并两个存储库后,该图看起来与我预期的一样。

该错误消息看起来像是其他人已将更改推送到中央存储库,因此您需要将他们hg pullhg merge更改合并到您的分支中。

编辑- 在您的编辑添加更多信息之后,您似乎确实在默认分支上有两个头,是的,您应该将它们与hg merge.

于 2012-08-29T12:27:49.627 回答