在过去的某个阶段,我有一个“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