问题产生
今天在git提交到一半时,电脑系统崩溃,于是重新启动电脑,打开sourceTree,无限循环报128错误fatal: Not a git repository。
于是打开git bash
- 使用git init提示存在.git文件夹
- 使用git log提示git不相应
但是明明存在.git文件夹
解决方案
既然是存在.git文件夹,但是又没有响应,猜测是路径问题,没有找到对应路径,但是对git不是很熟悉的我对文件夹里面各种各样的文件蒙蔽了
感谢.git文件夹详解
很快定位到问题,与我猜测相关的文件是HEAD文件(映射到ref引用,能够找到下一次commit的前一次哈希值),打开HEAD文件,显示一堆黑体null乱码
不清楚这种展示是否正确,于是新建一个文件夹,使用git init
很明显不正确。那么问题就很愉快的解决了,将乱码删除,填入ref: refs/heads/最后一次提交的分支名
至于为什么不重新拉一个库,是因为本地commit失败,线上的库没有提交,本地git又打不开,完全记不起自己修改哪些文件,哪些地方,所以经常提交代码是个好习惯呀!!!