在Mercurial中存在未完成的本地更改时,撤消对单个文件的早期更改 每当我在做一个本地的改变时,我就会意识到,当我处于一组变化的中间时,我想撤消在一个特定的文件中做的修改。例如: r1000-更改文件A和B …-任何数量的中间变更 工作副本:对多个文件的未完成更改
在这一点上,我意识到我想完全撤销对r1000中文件A的更改,作为我正在进行的更改的一部分 如果没有任何本地更改,我可以使用在Mercurial中存在未完成的本地更改时,撤消对单个文件的早期更改 每当我在做一个本地的改变时,我就会意识到,当我处于一组变化的中间时,我想撤消在一个特定的文件中做的修改。例如: r1000-更改文件A和B …-任何数量的中间变更 工作副本:对多个文件的未完成更改,mercurial,Mercurial,在这一点上,我意识到我想完全撤销对r1000中文件A的更改,作为我正在进行的更改的一部分 如果没有任何本地更改,我可以使用hg backout。我尝试过使用hg revert-r“1000^”A,但我收到一条消息,说明A不受1000的父变更集的影响 那么,作为当前更改的一部分,从以前更改集中的单个文件还原更改的最佳方法是什么呢?因此,当我编写此内容时,我在hg diff命令上遇到了--reverse标志。将该想法与hg import结合起来,问题中的示例给出如下命令: hg diff -c 10
hg backout
。我尝试过使用hg revert-r“1000^”A
,但我收到一条消息,说明A不受1000的父变更集的影响
那么,作为当前更改的一部分,从以前更改集中的单个文件还原更改的最佳方法是什么呢?因此,当我编写此内容时,我在
hg diff
命令上遇到了--reverse
标志。将该想法与hg import
结合起来,问题中的示例给出如下命令:
hg diff -c 1000 -I A --reverse | hg import --no-commit --force -
这将为单个目标文件创建r1000中更改的反向补丁,然后将其传递到
hg import
以应用于当前工作目录,而无需提交。+1很酷的解决方案,尽管我个人宁愿搁置正在进行的工作,hg backout
修订版,恢复货架,让历史变得清晰。