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

ngu*_*101 10 mercurial

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

1---2---3

=> 1 and changed files of 2 and 3
Run Code Online (Sandbox Code Playgroud)

Ry4*_*ase 19

您使用strip命令:

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

--keep选项:

-k - 在strip过程中不要修改工作副本

而且由于strip破坏了历史,因此默认情况下不启用.您可以通过将以下行添加到~/.hgrc文件来启用它:

[extensions]
strip =
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下你会这样做 hg strip --keep 2

注意:需要Mercurial 2.8或更高版本.在此之前你需要把它放进mq =.hgrc.


ism*_*lik 5

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

  1. “设置”->“扩展”启用条带扩展
  2. -> 'Modify History' -> 'Strip' 中Strip...命令。
  3. 选中不要在剥离期间修改工作副本 (-k/--keep)选项。
  4. 单击“剥离”按钮。