Git仓库已删除文件无法查看及恢复的问题求助
解决Git已删除文件的查看与恢复问题
第一步:定位文件最后存在的提交记录
先执行这条命令,找出所有涉及该文件的提交(包括删除操作的提交):
git log --all --full-history -- ranker/knowledge/city_province_map.py
输出会展示每个修改或删除该文件的提交哈希及说明,找到文件被删除前的最后一次有效提交(也就是删除提交的父版本)。
第二步:查看已删除文件的内容
拿到该提交的哈希值(比如f4e3d2c),执行以下命令查看文件内容:
git show f4e3d2c:ranker/knowledge/city_province_map.py
你之前的第一个命令存在语法错误,^需要紧跟在提交哈希后面,正确写法应为:
git show $(git rev-list --max-count=1 --all -- ranker/knowledge/city_province_map.py)^:ranker/knowledge/city_province_map.py
(注意^紧贴在$(...)输出的哈希值后,无空格)
另外你第二次尝试的命令里有拼写错误:ranker/knowledgw/应为ranker/knowledge/,且HEAD^不一定是文件存在的提交——毕竟文件可能不是在上一次提交中被删除的。
第三步:恢复已删除的文件
如果要将文件恢复到当前工作区,执行:
git checkout f4e3d2c -- ranker/knowledge/city_province_map.py
执行后文件会回到工作区,之后你可以正常提交该文件到仓库。
内容的提问来源于stack exchange,提问作者marlon
相关产品推荐
相关产品推荐

