2010-05-05 84 views
3

如何放棄自Mercurial上次提交以來所有存儲庫更改?如何放棄尚未提交的所有Mercurial更改

我不會認爲這是revert命令,因爲那樣會實際更新工作目錄到最後一個提交。我只想撤消存儲庫中的更改(添加文件,刪除的文件等)。

但是,我是新的Mercurial,所以我可能會錯過一些東西。

+0

*添加的文件,刪除的文件*不會更改存儲庫。在提交之前,不管存儲庫如何變化。 – SilentGhost 2010-05-05 12:38:23

回答

8

你確實需要revert。兩個命令revertupdate是免費的。他們都更新工作目錄中的文件,但update也更新了父版本(請參閱hg parents),而revert則不更新。如果您的父母版本是tip,這通常是,那麼在這種情況下,可以選擇revert

例子:

[email protected] [~/hg/test] % hg stat 
? newfile 
? output.patch 
? this 
[email protected] [~/hg/test] % hg add newfile 
[email protected] [~/hg/test] % hg stat 
A newfile 
? output.patch 
? this 
[email protected] [~/hg/test] % hg revert --all 
forgetting newfile 
[email protected] [~/hg/test] % hg stat 
? newfile 
? output.patch 
? this 
2

尚未提交到存儲庫到本地副本的任何變化可以用命令撤銷:

hg update -C 

也就是說,更新干淨。

+0

這就是它,真的。不容易。 – DanMan 2016-07-23 10:23:04

相關問題