執行 Git 操作時,發生卡住的狀況

執行 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 種情況造成的

  1. 同時執行了兩個 Git 的指令時,有可能一個操作是來自終端機,另一個來自 IDE。
  2. 有時強制關閉進行中的 Git 操作,這個檔案沒有被自動刪除,之後你就無法進行其他操作。

發生這種狀況的時候,Git 會在此專案的 .git 資料夾裡面產生一個 index.lock 的檔案,通常是在進行某些比較費時的 Git 操作時自動生成,操作結束後會自動刪除,相當於一個鎖定檔案 (保護機制),目的在於防止對一個目錄同時進行多個操作。

那要如何解決呢?

只要刪除 .git 資料夾內的 index.lock 檔案即可。

# 範例
rm -f .git/index.lock

參考資料

https://stackoverflow.com/questions/38004148/another-git-process-seems-to-be-running-in-this-repository

comments powered by Disqus