与Temporarily switch working copy to a specific Git commit基本上是相同的问题,但针对Mercurial 。
说修订版500是我在Mercurial中提交的最新修订版。我做了更多工作,并且意识到在早期版本中出现了问题。因此,我“被藏匿”,也就是说,hg shelve
d更改了当前更改,因此我的修订版为500。
现在我要做的是检出499版,重新构建软件,看看它是否仍然有错误;如果是,请检出修订版498,重新生成软件,查看它是否仍然有错误;如果是的话,修订版497,会重建软件,查看它是否仍然有错误;等等,直到我找出哪个版本引入了错误。
完成后,我想回到修订版500,unshelve
我以前的工作,添加到该修订版中,然后进行新的提交(即修订版501)。这意味着当我回到历史时,我既不想重置任何东西,也不想从那里登台。
在git中,我可以做git checkout HASH
来回顾历史,一旦完成,git checkout master
可以回到提示。 我应该在Mercurial中使用哪个命令?
答案 0 :(得分:3)
您可以使用hg update转到旧版本:
hg update 499 # The short id number or the full hash
或者,如果您想在不知道ID的情况下进入父变更集,则可以使用Mercurial Revset:
hg update .~1
一旦确定了问题,您就可以:
hg update tip
并搁置您的更改,添加您的修订并提交。
我建议您阅读《 Mercurial:权威指南》。您的问题非常基本/入门级的商品用途。
编辑:“ Mercurial:权威指南”的链接为:
http://hgbook.red-bean.com/read/
或boook的1.9版本: