mercurial hg up -C创建了一个与当前名称相同的分支,如何删除或合并它

时间:2013-09-12 07:42:52

标签: mercurial

我的分支发生了变化,在unseccessfull合并之后,我试图恢复与hg up -c的unsuccessefull合并,但它创建了一个新的分支。我可以将它合并到当前或丢弃它或如何处理它?<​​/ p>

修改 实际上我做了以下,我有一个分支,并在那里进行了改变。然后我想把我的更改推送到服务器,所以我提取了更改,并尝试与它们合并,但是有一个冲突我无法解决自己,我想:我将还原所有更改并再次合并 - 所以使用我认为hg up -C会恢复我在未完成合并期间所改变的一切。但实际发生了什么,创建了另一个具有相同名称的分支,仅包含我之前提交的更改,并且与我正在工作的分支具有相同的名称,我切换到我工作的分支,但没有我的变化。这里有两个问题:实际发生了什么以及为什么创建了另一个具有相同名称的分支?

1 个答案:

答案 0 :(得分:0)

在同一个分支上有多个头,我认为你所说的“与当前同名的分支”是正常情况,是的,您可以使用hg merge来合并它们成一个头。使用hg heads命令查找分支X的两个头的哈希值。然后:

hg update REVISION_ID_OF_ONE_HEAD   # changes your working directory to match one of the heads
hg merge  REVISION_ID_OF_THE_OTHER_HEAD   # merges that head's changes in
hg commit      # create a new changeset that is the child of both those heads thus reducing the head count by one

同样@ringding是正确的,hg update永远不会创建分支。你已经拥有它们,并且在你拉扯时不知道或者没有另一个头部。