0

每隔一段时间,当我进行本地更改时,我会意识到我想撤消对特定文件的先前修订中所做的更改,而我正处于一组更改的中间。例如:

  • r1000 - 更改文件 A 和 B
  • ... - 任意数量的中间更改
  • 工作副本:几个文件的未完成更改

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

如果我没有任何本地更改,我可以使用hg backout. 我试过使用hg revert -r "1000^" A,但我收到一条消息,说 A 不受父变更集 1000 的影响。

那么,作为我当前更改的一部分,从先前更改集中的单个文件恢复更改的最佳方法是什么?

4

1 回答 1

1

所以当我写这篇文章时,我遇到了命令--reverse上的标志。hg diff将这个想法与hg import问题中的示例结合起来会给出如下命令:

hg diff -c 1000 -I A --reverse | hg import --no-commit --force -

这会为单个目标文件创建 r1000 中更改的反向补丁,然后将其传递到hg import当前工作目录而不提交。

于 2012-09-13T20:28:24.410 回答