2011-12-19 36 views
7

後,我的最後一次提交的,我寫了一堆代碼。在再次提交之前,我跑了hg add。 它增加了一些文件,我不感興趣,所以我跑都是經過「汞復歸」走了我的變化?

$ hg revert --all 

以爲所有添加的文件會消失。他們沒有走開,但我也恢復了自上次寫提交代碼,這意味着大量的工作丟了!我有什麼選擇?

回答

12

當你hg revert一個文件(或文件--all),水銀下另一名保存文件的備份。這是爲了讓你更難以失去工作。如果文件被稱爲foo,你將與原始版本的foo.orig

您可以使用

$ hg status --all --include "**.orig" 

看到你的工作拷貝的.orig文件。移動你需要的東西,重新添加並提交。

有關說明:人們有時會將--no-backup標誌添加到[defaults]部分,以便擺脫.orig文件。Mercurial散佈在周圍。我認爲這是一個非常糟糕的主意......只是,而不是添加

syntax: glob 
*.orig 

.hgignore文件忽略.orig文件。這是更安全,有一天你會很高興你有這些.orig文件躺在身邊:-)

+3

謝謝主人。哦,你還有馬丁:-) – Rahul 2011-12-19 11:53:11

+0

當你「打動你需要背的,重新進行添加,並承諾」應重命名foo.txt.orig手動foo.txt的每個文件,或者是有更好的辦法? – 2016-01-01 20:46:26