清除 mercurial 中的本地分支

Purge local branchs in mercurial

免责声明:我是软件开发新手,所以我的术语可能不准确。

目前的源码是这样的(本项目使用mercurial进行版本控制):

---(r 1000) -> (r 1001) -> (r 1002) master, remote
      \
   (r 1003) -> (r 1004) -> (r 1005) feature1, local

我在 (r 1004) 中使用了专有的第 3 方 header,并在 (r 1005) 中用它替换了一个开源替代品。我的理解是它仍然显示在日志中,这是我想避免的。我想完全清除 (r 1004)。我该怎么做,以上面的表示为例?

您将需要使用 hg striphg histedit在这种特殊情况下 hg strip -r 1004. 更正 :使用 hg histedit,例如 hg histedit --outgoing(参见 hg help histedit 更多)。 striphistedit 都曾经是外部扩展,但现在捆绑在一起(我不确定哪个版本的 Mercurial 将它们添加为标准)。

请注意,您必须从每个拥有它的存储库中手动删除此特定修订版,否则它会不断出现。 (Git 也会出现同样的问题,我提到这个问题是因为出于某种原因该问题被标记为 。)