获取很久以前在git中删除的文件

时间:2017-09-15 16:28:20

标签: git directory pattern-matching restore

我有一个包含很多子目录的项目,并且在某个深度子目录中的某处有一个名为foo.py的文件。几年前它被删除了,删除被提交并推送。如何才能看到删除之前存在的foo.py内容?

1 个答案:

答案 0 :(得分:1)

如果您知道该文件的完整路径,则可以使用git log查找最后一次存在的提交:

git log -1 -- path/to/foo.py

这将返回如下内容:

commit 6b6df3bf2aed05b4ed63a9c99a1e61c7b3059aa6
Author: you
Date:   Thu Jul 2 17:56:30 2015 +0900

    Delete foo.py

然后你可以......

...检查该提交的父级并检查文件:

git checkout 6b6df3bf2aed05b4ed63a9c99a1e61c7b3059aa6^
cat path/to/foo.py

...或使用git show在stdout上显示它:

git show 6b6df3bf2aed05b4ed63a9c99a1e61c7b3059aa6^:path/to/foo.py