2009-07-18 78 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完成更改。