如何查找和恢复已删除的文件

时间:2012-03-16 09:50:57

标签: mercurial restore delete-file recover

在过去的某个阶段,我有一个“foo.txt”,它在Mercurial源代码控制之下。但它现在已被删除。

当我不知道文件被删除的最后一个Mercurial修订版时,如何恢复该文件?

2 个答案:

答案 0 :(得分:22)

如果您知道文件的确切路径,则可以执行以下操作:

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"

答案 1 :(得分:9)

使用revsets:

hg log -r "removes('path_to_file')"

path_to_file可以是hg help patterns中记录的任何内容,包括精确路径,glob或正则表达式。

修改:将Brian关于将path_to_file放入单引号的评论。