Mercurial - 如何摆脱额外的默认头

Mercurial - how to get rid of additional default heads

我在默认分支上,但是 mercurial 说一些旧的提交是其他默认分支。 我想推送一个提交,但我不能,否则我将不得不推送其他错误的默认头部。

我怎样才能使情况变得干净?我假设我必须获得这些额外的默认磁头的簧片,以便我再次推动我的工作。有安全的方法吗?

第一个建议是备份你的 repo,这样如果出现问题,你就有一个 return 路径。

您需要确定其他头是否重要或是否可以丢弃。您可以列出头部:

hg heads

如果其他头都是一次性的,可以使用hg strip命令。一些警告是 这里需要。如果您创建了一个匿名分支(有问题的负责人)并且后来合并了 它回到你的默认(或其他分支),删除它会导致合并后的任何更改也被删除。

您应该花一些时间查看:hg log -G(或许多图形界面之一)并确定这是否会成为问题。

如果它是一个孤儿分支(头)你可以使用:

hg strip changeset-id