我以前(即之前的几个变更集)提交了一个相当大的变更集,其中包含我想要保留的良好变更,还有一些我想撤消。是的,无论如何,我不应该在一个变更集中包装太多,但现在损坏已经完成。
AFAIK,Mercurial的退出命令只能用于整个变更集。我当然可以通过几个步骤弄清楚如何手动执行此操作,但我想知道:是否有一种简单的方法只能将变更集的部分反转?
(如果重要的话,我想撤消的更改是文件删除。)
答案 0 :(得分:1)
我应该在发布前尝试过,但这对其他人也有用:
退出不会自动提交。因此,对我有用的方法是运行hg退出,然后简单地还原我不想更改的文件。
答案 1 :(得分:1)
根据条件(“必须退出”和“必须保留”的数量或两种情况下的文件模式),您可以将hg backout
与-I(包括掩码)或-X一起使用(排除掩码)选项
hg backout -r CSET -I FILE
撤消仅更改文件hg backout -r CSET -X FILE
退出除 FILE 答案 2 :(得分:0)
如果您要撤消文件删除,那么最好使用hg revert
代替hg backout
:
hg status --change CSET --removed -n0 | xargs -0 hg revert --rev CSET^1