Git:如何在项目提交历史记录中找到已删除的文件?
曾几何时,我的项目中有一个文件,我现在希望能够得到。
问题是:我不知道我什么时候删除了它,以及它在哪条路上。
如何找到该文件存在时的提交?
如果你不知道你可能使用的确切路径
git log --all --full-history -- **/thefile.*
如果你知道文件的路径,你可以这样做:
git log --all --full-history -- <path-to-file>
这应该显示触及该文件的所有分支的提交列表。 然后,你可以找到你想要的文件的版本,并显示它...
git show <SHA> -- <path-to-file>
或者将其还原到您的工作副本中:
git checkout <SHA>^ -- <path-to-file>
请注意脱字号( ^
),它在所标识的脱机之前获得签出,因为在<SHA>
提交时该文件被删除,我们需要查看以前的提交以获取删除的文件内容
获取已删除文件的列表并复制已删除文件的完整路径
git log --diff-filter=D --summary | grep delete
执行下一个命令来查找该提交的提交ID并复制提交ID
git log --all -- FILEPATH
显示已删除文件的差异
git show COMMIT_ID -- FILE_PATH
请记住,您可以使用>
like将输出写入文件
git show COMMIT_ID -- FILE_PATH > deleted.diff
无法编辑接受的回复,因此将其添加为答案,
要在git中恢复文件,请使用以下内容(注意SHA后面的'^'符号)
git checkout <SHA>^ -- /path/to/file
链接地址: http://www.djcxy.com/p/18939.html
上一篇: Git: How to find a deleted file in the project commit history?
下一篇: git recover deleted file where no commit was made after the delete