2011-02-14 78 views
4

我有一個文件main.py被提交給mercurial,但後來意外還原和刪除。如何從mercurial恢復文件.hg/store/data/

我注意到一個二進制文件存在.hg/store/data/main.py.i 是否有可能從此恢復原始文件?

+0

只能陷入了困境,往裏走`.hg/store`。如果你使用的是命令行而不是像TortoiseHg這樣的GUI工具(我個人非常喜歡),我會建議運行`hg serve`並轉到http:// localhost:8000並以這種方式瀏覽你的存儲庫,這是一個探索你的代碼庫比命令行更好。 – dimo414 2011-02-15 10:22:21

回答

5

不幸的是,正如我在郵件列表中所說的那樣,不可能撤銷這樣的刪除或恢復。

-C選項將hg update command特別說:

 
options: 

-C --clean  discard uncommitted changes (no backup) 
-c --check  update across branches if no uncommitted changes 
-d --date DATE tipmost revision matching date 
-r --rev REV revision 
    --mq   operate on patch repository 

所以更改該文件丟失。

什麼可以做是從特定版本獲取文件,但它聽起來對我來說,因爲您有文件的未提交更改,並且更改和/或文件被完全刪除。

+0

是的不幸的是沒有修改回去。 main.py.i文件是否包含有用的東西? – hoju 2011-02-14 12:31:47

2

您可以使用hg revert -r <revision-where-the-file-existed> file.name恢復任何版本的文件。

1

,我發現文件被保存在另一頭:

hg heads 
hg merge -r N