这2个命令之间有什么区别(我想回滚到修订版1):
hg update -r 1
hg backout -r 1 --merge
(在示例中,小费修订为3)
最佳答案
首先,update -r 1将撤消工作目录中的修订版2和3,而backout -r 1 --merge将撤消修订版1,同时保留修订版2和3。但是还有一个更根本的区别:update
在您的工作目录中 checkout 一个较旧的修订版,而backout会创建一个新修订版(但通常您会在上述合并之后提交)。尝试在每个版本之后运行glog
,以查看修订图:
前:
0 - 1 - 2 - @3
还原后:
0 - @1 - 2 - 3
退出后-合并;犯罪
0 - 1 - 2 - 3 - @5
\- 4 - - - /
由于还原仅影响工作目录,因此任何克隆您的存储库的用户都看不到它。它们将在还原前后的3点结束。撤消后,它们将以5结束,而没有进行1的更改。
关于mercurial - Mercurial更新和撤消之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1148851/