这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/

10-15 03:08