1.判断文件是否可恢复
首先判断执行git reset --hard
命令之前是否有其他操作:
- 没有执行
git add ., git commit -m'注释'
操作,文件不可恢复。 - 执行
git add .
,没有执行git commit -m'注释'
操作,文件可恢复,比较麻烦。 - 执行
git add ., git commit -m'注释'
操作,文件可恢复,属于正常操作。
2.文件恢复
2.1 情况二的文件恢复
#在待恢复的分支下执行,lost文件gitfsck --lost-found# 如下图所示,找到该路径cd .git/lost-found/other# 如果文件太多,手动检查太麻烦,6q表示输出最近6次的add内容"cmd不能执行的话,使用git bash窗口操作"find .git/objects/ -type f|xargsls -lt|sed 6q# 定位到指定文件,在当前目录下可看到a.md文件git cat-file -p 名字> a.md# 查看文档内容vi a.md


2.2 情况三的文件恢复
# 返回到某一次commit前的代码git reset --hard xxxxxx(指定版本号)