4

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

4

2 回答 2

10

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

[extensions]
mq =

之后,您可以“剥离”一个特定的修订版,将其删除,以便您只有一个头:

hg strip ...
于 2013-01-21T09:46:53.523 回答
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

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

于 2013-01-21T13:33:03.623 回答