【发布时间】:2017-07-18 16:15:59
【问题描述】:
我有一个文件,其中几个单独的块在一个变更集中发生了更改。 (这不是最新的变更集。)
现在我只需要将其中一个块恢复到这些更改之前的修订状态。推荐的程序是什么? Mercurial/TortoiseHg 是否提供任何帮助,或者我应该手动将此块替换为旧内容?
【问题讨论】:
标签: mercurial tortoisehg revert
我有一个文件,其中几个单独的块在一个变更集中发生了更改。 (这不是最新的变更集。)
现在我只需要将其中一个块恢复到这些更改之前的修订状态。推荐的程序是什么? Mercurial/TortoiseHg 是否提供任何帮助,或者我应该手动将此块替换为旧内容?
【问题讨论】:
标签: mercurial tortoisehg revert
如果您想要撤消完整的变更集,可以使用hg backout 来完成,而无需手动操作。在它的帮助下:
hg 退出 [OPTION]... [-r] REV
早期变更集的反向效果
准备一个新的变更集,其效果为 REV undo 在当前 工作目录。如果没有遇到冲突,它将被提交 马上。
如果 REV 是工作目录的父目录,那么这个新的变更集是 自动提交(除非指定了 --no-commit)。
注意: 'hg backout' 不能用于修复不需要的或不正确的 合并。
但是,由于您只想还原一个大块,您可以使用hg backout,然后您需要使用--interactive 标志进行提交,以便您可以选择要提交的正确大块:
hg commit --message "Revert some stuff" --interactive
最后,将工作目录恢复到现在未修改的状态 - 你不想改回剩余的块
【讨论】: