Ubuntu

Git:嘗試刪除本地分支,但由於文件鎖定而權限被拒絕

  • May 12, 2020

在我的 Linux 伺服器上,有幾個我想刪除的 git 分支。我使用git branch -D branche_name並刪除了所有這些分支,除了一個。對於這個名為feat/implement-h我的分支,我得到了錯誤:

“錯誤:無法鎖定 ref ‘refs/heads/feat/implement-h’:無法創建 ‘/data/web/xxx/xxx/.git/refs/heads/feat/implement-h.lock’:權限被拒絕” .

我最近可以訪問這台 Linux 伺服器,它已經使用了幾年,但我之前沒有訪問權限。知道如何刪除這個分支嗎?

正如 Halfgaar 所說,這可能是權限問題。我發現屬於的文件root往往會累積在我的 git 儲存庫中,儘管速度非常緩慢。就我而言,他們似乎經常在

.git/objects

並且似乎不會在那裡引起問題。但是,如果一個lock文件最終屬於該文件root顯然會成為一個問題。您可以使用以下命令檢查此類文件

find ~/your/git/dir -group root -ls

我的假設是,非常偶然地,當 Git 拋出錯誤時,所有權資訊可能會損壞。

引用自:https://serverfault.com/questions/1016436