删除多个头

时间:2011-09-18 19:02:46

标签: mercurial

C:\Users\Itu\workspace\Compiler>hg branches
default                       13:aa6af82c5458

C:\Users\Itu\workspace\Compiler>hg heads
changeset:   13:aa6af82c5458
tag:         tip
user:        Itun
date:        Sun Sep 18 22:27:06 2011 +0400
summary:     Update 1.0.0.2

changeset:   9:d36e5ac454b1
parent:      -1:000000000000
user:        Itu
date:        Sun Sep 18 06:50:25 2011 +0400
summary:     New PR

changeset:   8:758cd394d82a
user:        Itun
date:        Sun Sep 18 06:48:17 2011 +0400
summary:     asdasd

changeset:   4:c4c981b4ff43
user:        Itun
date:        Sun Sep 18 03:31:58 2011 +0400
summary:     Update
C:\Users\Itu\workspace\Compiler>hg merge
abort: branch 'default' has 4 heads - please merge with an explicit rev
(run 'hg heads .' to see heads)

你怎么看我有一个分支和4个头。 当我尝试拉入我的eclipse mercurial插件时,它会返回有关多个头的消息,并提供我进行rebase或merge。然后我什么都不懂,关上了。 我想我需要一些东西来删除这些头。如果有人能够解释我并在eclipse插件中展示如何做到这一点会很棒,但其他帮助也很受欢迎。

2 个答案:

答案 0 :(得分:5)

删除额外元头最安全的方法是制作一个新的clone,用-r抓住你想要的头部:

cd C:\Users\Itu\workspace
mv Compiler Compiler-backup
hg clone -r aa6af82c5458 Compiler-backup Compiler 

这会将aa6af82c5458及其祖先移至新克隆,将旧头留在Compiler-backup。您可以随时hg pull以上,或者只删除备份(丢失数据)。

答案 1 :(得分:3)

Mercurial有一个专门讨论multiple heads主题的完整维基页面。

我强烈建议您在继续明确行动之前先阅读它。

Fog Creek的人们提供了一些friendlier material

您可以考虑与他们合作,因为听起来您可能需要一些支持。