如何恢复上次提交并保持mercurial的变化?

时间:2015-04-02 13:10:47

标签: mercurial

我有三个提交1,2和3.如何回滚2和3并仍然保留它们的更改文件?

1---2---3

=> 1 and changed files of 2 and 3

2 个答案:

答案 0 :(得分:17)

您使用strip命令:

  

从存储库中剥离变更集及其所有后代

使用--keep选项:

  

-k - 在条带

期间不要修改工作副本

由于strip对历史具有破坏性,因此默认情况下不会启用它。您可以通过将这些行添加到~/.hgrc文件来启用它:

[extensions]
strip =

所以在这种情况下你要hg strip --keep 2

注意:需要Mercurial 2.8或更高版本。在此之前,您需要将mq =放在.hgrc中。

答案 1 :(得分:3)

如果你使用TortoiseHg,你可以这样做:

  1. 设置 - >启用 strip 扩展程序扩展
  2. - >提供剥离... 命令'修改历史记录' - > '地带'
  3. 检查在剥离期间不要修改工作副本(-k / - keep)选项。
  4. 点击剥离按钮。