使用Mercurial时,如何撤消自上次提交以来工作目录中的所有更改?这看起来似乎是一件简单的事情,但我想不起来了。
例如,假设我有4个提交。然后,我对我的代码做了一些修改。然后,我决定我的更改是不好的,我只想回到上次提交时的代码状态。所以,我想我应该这样做:
hg update 4
其中4是我最近提交的修订号。但是,Mercurial不会更改我工作目录中的任何文件。为什么不行?
发布于 2010-07-09 23:25:11
hg revert
将会做到这一点。
它将使您恢复到最后一次提交。
--all
将恢复所有文件。
有关它的手册页说明,请参阅链接。
hg update
通常用于在您从不同的存储库或交换分支获取数据后刷新工作目录。hg up myawesomebranch
。它还可用于恢复到特定版本。hg up -r 12
。
发布于 2010-07-10 22:01:59
hg revert
的另一种解决方案是hg update -C
。您可以放弃本地更改,并使用此命令更新到某些版本。
我通常更喜欢输入hg up -C
,因为它比hg revert --all --no-backup
短:)
发布于 2010-07-09 23:24:58
hg revert
是你的朋友:
hg revert --all
hg update
会将您对当前工作副本所做的更改与目标修订合并。将最新版本与已更改的文件(=当前工作副本)合并将导致与您已有的更改相同的更改,即,它不执行任何操作:-)
如果你想阅读Mercurial,我推荐非常棒的教程Hg Init。
https://stackoverflow.com/questions/3214035
复制相似问题