如何找到并恢复已删除的文件

Posted

技术标签:

【中文标题】如何找到并恢复已删除的文件【英文标题】:How to locate and recover a deleted file 【发布时间】:2012-04-01 20:43:15 【问题描述】:

在过去的某个阶段,我有一个受 Mercurial 源代码控制的“foo.txt”。不过现在已经被删除了。

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

【问题讨论】:

有关定位它的更多信息,另请参阅Find deleted files in Mercurial repository history, quickly?。 【参考方案1】:

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

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【参考方案2】:

使用修订集:

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

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

【讨论】:

以上是关于如何找到并恢复已删除的文件的主要内容,如果未能解决你的问题,请参考以下文章

Git:恢复一个已经在提交中被删除的文件

win10被McAfee删除的东西如何恢复?

在LVM中恢复已删除的逻辑卷

c++怎么实现查找一个文件,并删除找到的文件?

windwos彻底删除已删文件防止恢复的方法

如何在 Linux 中恢复已删除的文件-