執行 Git 操作時,發生卡住的狀況
之前有發生過下 Git
指令時,終端機給了我這樣的訊息
Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
後來查了一下,會發生這個原因,通常會是以下 2 種情況造成的
- 同時執行了兩個 Git 的指令時,有可能一個操作是來自終端機,另一個來自 IDE。
- 有時強制關閉進行中的 Git 操作,這個檔案沒有被自動刪除,之後你就無法進行其他操作。
發生這種狀況的時候,Git
會在此專案的 .git
資料夾裡面產生一個 index.lock
的檔案,通常是在進行某些比較費時的 Git
操作時自動生成,操作結束後會自動刪除,相當於一個鎖定檔案 (保護機制),目的在於防止對一個目錄同時進行多個操作。
那要如何解決呢?
只要刪除 .git
資料夾內的 index.lock
檔案即可。
# 範例
rm -f .git/index.lock