hg backout tip
似乎也将所有文件还原为旧版本。有没有办法可以像提交之前那样将其更改回来 - 也就是说,有几个文件“已修改”但未提交 - 实质上,好像“提交”从未完成?
(hg rollback
据说非常糟糕,通常不应该用于版本控制目的)
答案 0 :(得分:3)
hg rollback
完全符合您的要求 - 它会撤消hg commit
并最终达到您提交之前的状态。
当然,版本控制系统并没有真正意图“丢失”你已经提交的版本,但恢复意外提交很方便。
答案 1 :(得分:2)
当你推,当然,没有工具会做你想要的。话虽如此,如果您想要从本地历史记录删除而不是仅使用hg backout
撤消其效果的多个更改列表,则可以使用hg strip
,它作为MQ扩展包的一部分提供。
您可以执行以下操作以获得所需效果:
hg export tip > foo.patch
hg strip tip
hg import --no-commit foo.patch