问题:通常是由于 Git 的索引文件损坏导致
原因:系统崩溃或断电、硬盘故障、Git 操作错误等
方案:重建索引文件:将当前的索引文件重命名为其他名称或删除,比如 index.m,然后命令行重建索引,git status
可查看重建结果
git read-tree --reset HEAD
git reset
然后查看储存区,可能之前未存储的git更改已经恢复了,但是存储区还是空的,没有恢复,可以进行命令行进行修复
git fsck --full
但可能出现如下提示:
error: refs/stash: invalid sha1 pointer 000000000000000000000000000000
打开refs文件夹下的stash文件,可能已经出现了乱码,删除乱码后再试试即可,总之这时候可以通过多尝试更改stash这个文件来进行储藏恢复了,比如编码,空字符等都可以试试
保存后再查看储藏区,应该就恢复了以前的数据