Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mercurial中存在未完成的本地更改时,撤消对单个文件的早期更改 每当我在做一个本地的改变时,我就会意识到,当我处于一组变化的中间时,我想撤消在一个特定的文件中做的修改。例如: r1000-更改文件A和B …-任何数量的中间变更 工作副本:对多个文件的未完成更改_Mercurial - Fatal编程技术网

在Mercurial中存在未完成的本地更改时,撤消对单个文件的早期更改 每当我在做一个本地的改变时,我就会意识到,当我处于一组变化的中间时,我想撤消在一个特定的文件中做的修改。例如: r1000-更改文件A和B …-任何数量的中间变更 工作副本:对多个文件的未完成更改

在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

在这一点上,我意识到我想完全撤销对r1000中文件A的更改,作为我正在进行的更改的一部分

如果没有任何本地更改,我可以使用
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
修订版,恢复货架,让历史变得清晰。