Debug-Git&GitHub:

(1) index file corrupt,

(2) cannot lock ref ‘HEAD’(reference broken)

前言

2021/04 的 2 個不同時間點,Code 寫到一半時電腦故障,終端機重新

git status,顯示 2 種 Bug 情況:

1. error: bad signature 0x00000000 fatal: index file corrupt

※ fork (GUI, graphical user interface)的 git commit 紀錄全部"暫時"消失

2. fatal: cannot lock ref ‘HEAD’: unable to resolve reference ‘refs/heads/master’: reference broken

git commit 紀錄未消失,但無法 commit 新 Code

檢查自己 Git&GitHub 筆記和 Alpha Camp 課程相關內容,發現皆無相關資訊,因此上 Stack Overflow 或 Google,依 (1)關鍵字查詢 或 (2)轉成英文發問形式搜尋(例如:How to fix… 等方式),解決問題並記錄。

產生以上 2 種 Bug 的主因相似:可能因當機(bluescreen)或斷電,造成 Git 寫入錯誤。

一、error: bad signature 0x00000000 fatal: index file corrupt

1. Situation (問題、主題等)

終端機指令 git status,出現 error: bad signature 0x00000000 fatal: index file corrupt

造成 fork (GUI, graphical user interface) 介面的 git commit 紀錄全部"暫時"消失。

broken image

2. Action (各種 trial and error、成功方法、觀念釐清)

終端機指令:(1) rm .git/index、(2) git reset

broken image
broken image

3. Result (成果)

git commit 紀錄回復正常,可重新 commit。

4. Reference

二、fatal: cannot lock ref ‘HEAD’: unable to resolve reference ‘refs/heads/master’: reference broken

1. Situation (問題、主題等)

終端機無法 commit,出現 fatal: cannot lock ref ‘HEAD’: unable to resolve reference ‘refs/heads/master’: reference broken。

git commit 紀錄未消失,但無法 commit 新 Code

broken image

2. Action (各種 trial and error、成功方法、觀念釐清)

終端機指令:(1) rm .git/refs/heads/master、(2) git reset

broken image
broken image

3. Result (成果)

git commit 紀錄全部恢復正常,可繼續重新 commit。

4. Reference