2009-07-18 47 views
5

什么`这2个指令之间的差(我想回滚到修订1):差异与回退

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

(在示例中最新修订为3)

回答

11

要启动与更新-r 1将撤消工作目录中的修订版本2和3,而退出-r 1 --merge将撤消修订版本1,同时保留修订版本2和3.但有一个更根本的区别:

update检查在你的工作目录中取出旧版本,而退出创建一个新的(但通常你会在上面的合并后提交)。每次尝试的那些运行后glog看版本图:

前:

0 - 1 - 2 - @3 

恢复后:

0 - @1 - 2 - 3 

后退出--merge;提交

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

因为回复只影响工作目录,所以任何克隆存储库的用户都看不到它。在回复之前和之后它们将以3结尾。而退出后,它们将以5结束,这不会由1完成更改。