2012-12-07 136 views

回答

29

考慮變更的歷史:

A --- B --- C --- D --- E 
      [bad]  (*) 

hg revert -r B:留在當前的修訂,但更新工作目錄 爲修訂版B的。它具有補丁的效果,該補丁撤銷C,DE的變化 。

hg backout -r C:更新工作目錄,使其包含合併 C版本的B)和當前修訂,保留了變化 在兩個版本之間進行(工作目錄仍包含的變化 修訂版DE)。這具有應用於E, 上的修補程序的效果,僅取消了C的更改。

如果不是所有的C都不好,你可能要編輯一些文件。記得做 一個hg commit在任何情況下:

A --- B --- C --- D --- E --- F 
      [bad]    (*) 
+4

回答我的問題,因爲我無法找到任何網頁上清楚。希望這可以幫助其他人節省一些時間。 – Iodnas

+0

好的答案!我的「[作弊表]」(http://stackoverflow.com/a/2565996/110204)解釋了「hg update」和「hg revert」之間的區別,這也可能有幫助。 –

+1

你爲什麼不接受你的回答? – PhoneixS