git error:object file * is empty

不知道爲什麼的,機子重啓經常發生這種事情.解決辦法參考stackoverflow問答

步驟:

  1. 備份當前git cp -a .git .git-old
  2. git fsck --full 找出empty file ,刪除全部空文件.如果太多了可以用如下命令

    cd .git
    find . -type f -empty -delete -print
  3. git status 提示出現fatal: bad object HEAD

  4. rm .git/index,此時 由於沒有index了git reset 會出現下面的提示.

    Could not parse object ‘HEAD’.

  5. 手動查找reflog記錄 重新定向HEAD到上一次的提交commit如下

    tail -n 2 .git/logs/refs/heads/CURRENT-BRANCH
    

    這時顯示你最近的兩次提交,使用git update-ref HEAD commitgit reset,commit爲最近一次提交動作的版本.

  6. 這時在git status就回到了崩潰前更改後沒有add的狀態.git add -ugit commit一次,重新提交下就OK了.

發佈了100 篇原創文章 · 獲贊 35 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章