如何删除多个头?

问题描述 投票:3回答:2

我错误地推了一些文件,它在主存储库中显示了不同的头。我怎么能删除那个头?

mercurial
2个回答
5
投票

我不认为你真的想要删除头部。如果这样做,您将失去在这些分支中完成的工作。

您可能希望将头部合并为一个分支。

假设你有一棵这样的树:

o  4 : Head 1
|
o  3 : Another commit
|  
| o 2 : Head 2
| |
|/
o  1 : A commit
|
o  0 : Initial commit

要摆脱额外的头而不丢失其中包含的工作,你将合并两个头(在这个例子中的修订版2和4),如下所示:

hg update 4
hg merge 2
hg commit -m "Merge"

这将创建另一个提交,其中包含修订版2,3和4中的所有更改,如下所示:

o     5: Merge
|\
o |   4 : Head 1
| |
o |   3 : Another commit
| | 
| o   2 : Head 2
| |
|/
o     1 : A commit
|
o     0 : Initial commit

当多个开发人员在同一个存储库上工作时,这是标准过程。


8
投票

您可以通过编辑.hgrc文件来启用“mq”扩展名。确保存在以下行:

[extensions]
mq =

之后,您可以“删除”删除它的特定修订,以便您只有一个头:

hg strip ...
© www.soinside.com 2019 - 2024. All rights reserved.