在主分支上做了smth
然后完成git add .
然后意外git checkout -f
现在文件丢失了 如何恢复?
答案 0 :(得分:0)
查找影响给定路径的最后一次提交。由于该文件不在HEAD提交中,因此该提交必须已将其删除。
git rev-list -n 1 HEAD -- <file_path>
然后使用插入符号(^)符号检查提交时的版本:
git checkout <deleting_commit>^ -- <file_path>
或者在一个命令中,如果$file
是相关文件。
git checkout $(git rev-list -n 1 HEAD -- "$file")^ -- "$file"
答案 1 :(得分:-1)
git reflog
可以帮到你。找到您希望在该列表中提交的提交(假设它为e870e41
),您可以重置为该提交(使用:git reset --hard e870e41
)。