在过去的某个阶段,我有一个“foo.txt”,它在Mercurial源代码控制之下。但它现在已被删除。
当我不知道文件被删除的最后一个Mercurial修订版时,如何恢复该文件?
答案 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
放入单引号的评论。