我有一个没有未提交更改的善变回购。我在修订版846,并决定我的最后两个提交是垃圾,并希望继续进行,如同修订版844.所以我打算输入:
hg revert -r 844 --all
不幸的是我输错了,写道:
hg revert -r 44 --all
所以我的整个存储库发生了巨大的变化,包括目录结构。我没有看到任何.orig文件,所以我认为答案不是:
How to undo a revert in mercurial
帮助我。
hg log仍然保留了我的所有提交到修订版846 - 您认为我可以恢复到修订版846吗?
建议非常欢迎
答案 0 :(得分:1)
hg revert
只是将您的工作副本设置为您指定的修订版,因此如果您在还原后没有执行提交,那么您的存储库没有更改。要解决此问题,您只需执行hg update -C
,然后删除所有.orig
个文件。
之后,您可以执行正确的还原语句以删除最后两个修订。
如果您确实执行了提交,那么您想要执行的命令(hg revert -r 844 --all
)仍然会通过撤消恢复提交以及您最初打算提交的两个提交来达到您想要的程度。撤消。