Mercurial:你如何撤销更改?
在使用Mercurial时,如何撤销自上次提交以来工作目录中的所有更改? 这似乎是一个简单的事情,但它逃避了我。
例如,假设我有4个提交。 然后,我对代码进行了一些更改。 然后我决定我的更改是不好的,我只想回到上次提交时的代码状态。 所以,我觉得我应该这样做:
hg update 4
其中4是我最近提交的修订版。 但是,Mercurial不会更改我的工作目录中的任何文件。 为什么不?
hg revert
将做的伎俩。
它会将你还原到最后一次提交。
--all
所有将恢复所有文件。
请参阅手册页说明的链接。
hg update
通常用于在从不同的回购或交换分支中提取后刷新工作目录。 hg up myawesomebranch
。 它也可以用来恢复到一个特定的版本。 hg up -r 12
。
hg revert
的替代解决scheme是hg update -C
。 您可以放弃您的本地更改并使用此单一命令更新到某个修订版本。
我通常更喜欢键入hg up -C
因为它比hg revert --all --no-backup
短 – hg revert --all --no-backup
🙂
hg revert
是你的朋友:
hg revert --all
hg update
将您的更改合并到当前工作副本与目标版本。 合并最新版本与您更改的文件(=当前工作副本)会导致您已有的相同更改,即,它什么也不做:-)
如果你想阅读Mercurial,我会推荐非常棒的教程Hg Init 。
hg revert --all
接着
hg pull -u
为我工作