问题如下:
解决方法:
1、运行 git fsck --full 可以查看具体error信息,一般都是head索引问题
2、.git\refs\heads\xxx(当前分支)txt编辑器打开显示乱码,而不是hash编码
3、在.git\logs\refs\heads\xxx(当前分支)中打开找到最后一条(最下边)hash编码如:
d87e4589714ae284c6c82eff3df49cc98ef345f8 复制到 .git\refs\heads\xxx(当前分支)中即可
4、再次运行git fsck --full 如果出现remotes相关error 则说明.git\refs\remotes\origin\xxx(当前分支)下的hash编码也有问题,同样粘贴刚才的编码就可以解决
5、最后 git branch 就可以看到恢复的分支