如何找到并恢复已删除的文件
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 或正则表达式。
【讨论】:
以上是关于如何找到并恢复已删除的文件的主要内容,如果未能解决你的问题,请参考以下文章