Mercurial更新和退出之间的区别

时间:2009-07-18 23:17:36

标签: mercurial

这两个命令之间有什么区别(我想回滚到修订版1):

hg update -r 1
hg backout -r 1 --merge

(在示例提示修订版中为3)

1 个答案:

答案 0 :(得分:11)

首先,update -r 1将撤消工作目录中的修订版本2和3,而backout -r 1 --merge将撤消修订版本1,同时保留修订版本2和3.但是有一个更基本的区别:< / p>

update检出工作目录中的旧版本,而backout创建一个新版本(但通常在上面的合并之后提交)。尝试在每个之后运行glog以查看修订图:

之前:

0 - 1 - 2 - @3
恢复后

0 - @1 - 2 - 3
退出之后 - 提交

0 - 1 - 2 - 3 - @5
     \- 4 - - - /

由于revert仅影响工作目录,因此对于克隆存储库的任何用户都不可见。它们将在恢复之前和之后结束。在退出之后,它们将最终为5,而没有完成1的更改。