在過去的某個階段,我有一個「foo.txt」,它在Mercurial源代碼控制下。但它現在已被刪除。如何找到並恢復已刪除的文件
當我不知道文件被刪除的最後一個Mercurial修訂版時,如何恢復文件?
在過去的某個階段,我有一個「foo.txt」,它在Mercurial源代碼控制下。但它現在已被刪除。如何找到並恢復已刪除的文件
當我不知道文件被刪除的最後一個Mercurial修訂版時,如何恢復文件?
如果知道該文件的確切路徑,你可以這樣做:
hg log -l 1 path/to/foo.txt
這將顯示您最後變更其中foo.txt
進行了修改,這樣你就可以從這個恢復的文件修訂。
一旦你有正確的版本,你可以簡單地做:
hg revert -r <my revision> path/to/foo.txt
hg commit -m "add the foo.txt file again"
我無法讓你的日誌命令工作。它不會顯示刪除發生在哪個版本。我必須做'hg log -l 1 --removed path/to/foo.txt'。 – 2013-09-01 19:06:00
使用revsets:
hg log -r "removes('path_to_file')"
哪裏path_to_file
可以是任何東西在hg help patterns
記錄,包括精確的路徑,水珠或一個正則表達式。
編輯:引入的布萊恩的關於把path_to_file
在單引號評論。
這適用於我,如果我把'path_to_file'放在單引號中。 – 2013-09-01 19:12:19
請參閱[在Mercurial存儲庫歷史記錄中快速查找已刪除的文件?](https://stackoverflow.com/questions/1013550/find-deleted-files-in-mercurial-repository-history-quickly)瞭解更多關於定位它。 – 2016-10-06 19:46:47