Version control Mercurial:如何撤消更改?
使用Mercurial时,如何撤消自上次提交以来工作目录中的所有更改?这似乎是件简单的事情,但我却无法理解 例如,假设我有4次提交。然后,我对我的代码做了一些更改。然后我决定我的更改不好,我只想回到上次提交时的代码状态。因此,我认为我应该:Version control Mercurial:如何撤消更改?,version-control,mercurial,Version Control,Mercurial,使用Mercurial时,如何撤消自上次提交以来工作目录中的所有更改?这似乎是件简单的事情,但我却无法理解 例如,假设我有4次提交。然后,我对我的代码做了一些更改。然后我决定我的更改不好,我只想回到上次提交时的代码状态。因此,我认为我应该: hg update 4 4是我最新提交的修订版。但是,Mercurial不会更改我工作目录中的任何文件。为什么不呢?是你的朋友: hg revert --all hg update将您对当前工作副本的更改与目标修订合并。将最新版本与更改的文件(=当前工
hg update 4
4是我最新提交的修订版。但是,Mercurial不会更改我工作目录中的任何文件。为什么不呢?
是你的朋友:
hg revert --all
hg update
将您对当前工作副本的更改与目标修订合并。将最新版本与更改的文件(=当前工作副本)合并会导致与您已有的更改相同的更改,即它不起任何作用:-)
如果你想了解Mercurial,我推荐非常棒的教程。就可以了
它将使您恢复到上次提交
--all
将还原所有文件
有关手册页的说明,请参见链接
hg update
通常用于在从不同的回购或交换分支提取后刷新工作目录hg up myawesomebranch
。它还可用于还原到特定版本<代码>hg up-r 12
hg revert的替代解决方案是hg update-C
。可以使用此命令放弃本地更改并更新为某些修订
我通常更喜欢键入hg up-C
,因为它比hg revert--all--no backup
:)
然后
hg pull -u
适用于我pableu:当您的工作副本中有更改时,
hg update
的工作原理您完全正确:它将它们合并到目标版本中。当您已经处于该目标修订时,不会发生任何事情。我对答案进行了编辑,以更自信的方式表达这一点。当我这样做时,我可以看到我在检查hg状态时还原的每个文件的.orig文件。如何处理此问题?相关:
hg pull -u