Version control Mercurial:删除单个、非头、变更集

Version control Mercurial:删除单个、非头、变更集,version-control,mercurial,Version Control,Mercurial,如何从存储库中删除单个变更集(不是头) hg strip不起作用,因为我不想删除子体 hg-rebase在头部,然后hg-strip可以工作,但我不能在后代上重新设置基址。(这会产生一个错误) 我的变更集与其他任何内容都不相关(它只是一堆我不应该添加的文件),因此应该很容易删除,不会出现问题。此外,我的存储库实际上有一个线性历史记录(每个变更集只有一个子项,特别是只有一个头) 背景 我使用的是hgsubversion,当我试图推送一个涉及名称中包含umlauts的任何文件的提交时,它或我的S

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

  • hg strip
    不起作用,因为我不想删除子体
  • hg-rebase
    在头部,然后
    hg-strip
    可以工作,但我不能在后代上重新设置基址。(这会产生一个错误)
我的变更集与其他任何内容都不相关(它只是一堆我不应该添加的文件),因此应该很容易删除,不会出现问题。此外,我的存储库实际上有一个线性历史记录(每个变更集只有一个子项,特别是只有一个头)

背景 我使用的是hgsubversion,当我试图推送一个涉及名称中包含umlauts的任何文件的提交时,它或我的SVN服务器崩溃。我无意中添加了这样一个文件,然后在上面做了一些其他工作。现在需要删除有问题的提交。

因为,strip删除的是后代,而不是祖先。如果没有后代,你就没事了。(但要小心:另一个分支中的后代将被剥离!)

如果您的问题是提交有子体,您仍然可以使用
hg histedit
删除它,同时保留其子体。

作为,strip删除子体,而不是祖先。如果没有后代,你就没事了。(但要小心:另一个分支中的后代将被剥离!)


如果您的问题是提交有子体,您仍然可以使用
hg histedit
将其删除,同时保留其子体。

您要剥离的变更集是否显示在
hg heads
中?如果是这样,你可以把它剥掉。如果它仍然是一个分支头,那么它是否不是变更集图中提交最多的提示并不重要。是的,它不是一个头。我在上面打了个错字,把它修好了。感谢您指出这一点。您想要剥离的变更集是否显示在
hg heads
中?如果是这样,你可以把它剥掉。如果它仍然是一个分支头,那么它是否不是变更集图中提交最多的提示并不重要。是的,它不是一个头。我在上面打了个错字,把它修好了。感谢您指出这一点。哇,
hg histedit
完成了这项工作,而且非常简单!:)是的,我的孩子有后代。我修正了我问题中的错误。哇,
hg histedit
完成了任务,而且非常简单!)是的,我的孩子有后代。我修正了我问题中的错误。