我搜索了Mercurial的文档但仍然感到困惑。我想要做的只是恢复我做的最后一次提交,即我希望我的项目回到与上次提交时完全相同的状态。我看到hg还原,回滚等等,仍然不明白哪种情况对这种情况是正确的。我应该使用哪种?
答案 0 :(得分:2)
hg rollback
命令用于撤消修改Mercurial内部存储的最后一个操作,通常是pull或commit。因此,如果要撤消上一次提交,hg rollback
将起作用。
但听起来你想要撤消所有未提交的更改。你有两个选择。 hg revert --all
命令将撤消所有未提交的更改。在恢复之前,每个更改的文件都会使用.orig
扩展名进行保存/备份。
如果您不需要保留.orig
个文件中的更改,请运行hg update -C
。这样可以清除所有未经注册的更改,而不会保留任何内容。
答案 1 :(得分:0)
如果您提交了更改集并希望删除它们,我喜欢条带扩展名strip extension。有了它,您可以从历史记录中删除显式变更集。
但是,strip是一个无情的命令,即如果你弄错了,除非你有一个repo的备份,否则没有检索。您可能更喜欢evolve extension附带的prune命令。使用剪枝,您可以将变更集标记为过时,并且它们通常不会在日志或乌龟中可见。 [您可以通过在hg日志命令行中添加--hidden,或者通过启用“过滤器”工具栏(从视图菜单中)添加“龟”并选择“显示/隐藏隐藏的变更集”来使其可见。 p>