Mercurial:删除单个非头部变更集

问题描述 投票:0回答:1

如何从存储库中删除单个变更集(不是头部)?

  • hg strip不起作用,因为我不想删除后代。
  • hg rebase在头上,然后hg strip会起作用,但我不能在后代上重新定位。 (产生错误)

我的变更集与其他任何东西无关(它只是我不应该做的一堆文件添加),所以它应该很容易删除而不会出现问题。另外,我的存储库实际上具有线性历史记录(每个变更集只有一个子节点,特别是只有一个节点)。

背景

我正在使用hgsubversion,当我尝试推送触及其名称中包含变音符号的任何文件的提交时,它或我的SVN服务器崩溃。我不小心添加了这样一个文件,然后在其上做了一些其他的工作。现在需要删除违规提交。

version-control mercurial
1个回答
2
投票

作为ngoldbaum implied in a comment,strip去除了后代,而不是祖先。如果没有后代你就可以了。 (但要注意:另一个分支的后代将被剥夺!)

如果你的问题是提交有后代,你仍然可以使用hg histedit删除它,同时保留它的后代。

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