临时将工作副本切换到Mercurial中的先前版本?

时间:2019-01-05 10:43:37

标签: mercurial

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中使用哪个命令?

1 个答案:

答案 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版本:

https://book.mercurial-scm.org/read/index.html