暂时将工作副本切换到 Mercurial 中的先前修订版?
Temporarily switch working copy to previous revision in Mercurial?
这基本上是与 Temporarily switch working copy to a specific Git commit 相同的问题, 但对于 Mercurial。
假设修订版 500 是我在 Mercurial 中提交的最后一个修订版。我又做了一些工作,并意识到在早期的修订中出了点问题。所以,我有 "git stashed",也就是说,hg shelve
d 我当前的更改,所以我的修订版是 500。
现在我要做的是checkout revision 499,重新编译软件,看看是否还有错误;如果是,检查版本498,重建软件,看是否还有错误;如果是,修改497,重新编译软件,看是否还有错误;等等,直到我弄清楚哪个版本引入了错误。
完成后,我想回到修订版 500,unshelve
我以前的工作,添加一个修复,然后进行新的提交(这将是修订版 501) .这意味着当我回到历史时,我不想重置任何东西,也不想从那里开始任何东西。
在 git 我可以只做 git checkout HASH
回到历史,一旦完成,git checkout master
回到提示。 我应该在 Mercurial 中使用哪些命令?
您可以使用 hg update 转到旧版本:
hg update 499 # The short id number or the full hash
或者如果您想在不需要知道 id 的情况下进入父变更集,您可以使用 mercurial revset:
hg update .~1
确定问题后,您可以简单地:
hg update tip
并取消搁置您的更改,添加您的修复并提交。
我建议您阅读 Mercurial:权威指南。您的问题非常基本/入门级 mercurial 用法。
编辑:link Mercurial:权威指南是:
http://hgbook.red-bean.com/read/
或本书的1.9版本:
这基本上是与 Temporarily switch working copy to a specific Git commit 相同的问题, 但对于 Mercurial。
假设修订版 500 是我在 Mercurial 中提交的最后一个修订版。我又做了一些工作,并意识到在早期的修订中出了点问题。所以,我有 "git stashed",也就是说,hg shelve
d 我当前的更改,所以我的修订版是 500。
现在我要做的是checkout revision 499,重新编译软件,看看是否还有错误;如果是,检查版本498,重建软件,看是否还有错误;如果是,修改497,重新编译软件,看是否还有错误;等等,直到我弄清楚哪个版本引入了错误。
完成后,我想回到修订版 500,unshelve
我以前的工作,添加一个修复,然后进行新的提交(这将是修订版 501) .这意味着当我回到历史时,我不想重置任何东西,也不想从那里开始任何东西。
在 git 我可以只做 git checkout HASH
回到历史,一旦完成,git checkout master
回到提示。 我应该在 Mercurial 中使用哪些命令?
您可以使用 hg update 转到旧版本:
hg update 499 # The short id number or the full hash
或者如果您想在不需要知道 id 的情况下进入父变更集,您可以使用 mercurial revset:
hg update .~1
确定问题后,您可以简单地:
hg update tip
并取消搁置您的更改,添加您的修复并提交。
我建议您阅读 Mercurial:权威指南。您的问题非常基本/入门级 mercurial 用法。
编辑:link Mercurial:权威指南是:
http://hgbook.red-bean.com/read/
或本书的1.9版本: