如何恢复最后的提交并保持 mercurial 的变化?
How to revert last commits and keep changes in mercurial?
我有三个提交 1、2 和 3。我怎样才能回滚 2 和 3 并仍然保留它们的更改文件??
1---2---3
=> 1 and changed files of 2 and 3
您使用strip
命令:
strip changesets and all their descendants from the repository
使用 --keep
选项:
-k --keep do not modify working copy during strip
并且由于 strip
会破坏历史记录,因此默认情况下未启用。您可以通过将这些行添加到您的 ~/.hgrc
文件来启用它:
[extensions]
strip =
所以在这种情况下你会做 hg strip --keep 2
注意:需要 Mercurial 2.8 或更高版本。在此之前,您需要将 mq =
放入 .hgrc
中。
如果你使用 TortoiseHg,你可以这样实现:
- 从设置 -> 扩展程序
启用删除扩展程序
- 从 -> 'Modify History' -> 'Strip'.[=25 发出 Strip... 命令=]
- 选中在剥离期间不修改工作副本(-k/--keep)选项。
- 单击删除 按钮。
我有三个提交 1、2 和 3。我怎样才能回滚 2 和 3 并仍然保留它们的更改文件??
1---2---3
=> 1 and changed files of 2 and 3
您使用strip
命令:
strip changesets and all their descendants from the repository
使用 --keep
选项:
-k --keep do not modify working copy during strip
并且由于 strip
会破坏历史记录,因此默认情况下未启用。您可以通过将这些行添加到您的 ~/.hgrc
文件来启用它:
[extensions]
strip =
所以在这种情况下你会做 hg strip --keep 2
注意:需要 Mercurial 2.8 或更高版本。在此之前,您需要将 mq =
放入 .hgrc
中。
如果你使用 TortoiseHg,你可以这样实现:
- 从设置 -> 扩展程序 启用删除扩展程序
- 从 -> 'Modify History' -> 'Strip'.[=25 发出 Strip... 命令=]
- 选中在剥离期间不修改工作副本(-k/--keep)选项。
- 单击删除 按钮。