不知道爲什麼的,機子重啓經常發生這種事情.解決辦法參考stackoverflow問答
步驟:
- 備份當前git
cp -a .git .git-old
git fsck --full
找出empty file ,刪除全部空文件.如果太多了可以用如下命令cd .git find . -type f -empty -delete -print
git status
提示出現fatal: bad object HEAD
rm .git/index
,此時 由於沒有index了git reset 會出現下面的提示.Could not parse object ‘HEAD’.
手動查找reflog記錄 重新定向HEAD到上一次的提交commit如下
tail -n 2 .git/logs/refs/heads/CURRENT-BRANCH
這時顯示你最近的兩次提交,使用
git update-ref HEAD commit
和git reset
,commit爲最近一次提交動作的版本.這時在
git status
就回到了崩潰前更改後沒有add的狀態.git add -u
與git commit
一次,重新提交下就OK了.