2013-01-02 105 views
19

我完全被困在爲什麼我的git完全鎖定了我。我有一臺筆記本電腦,在工作時以及在家時使用。對於這兩個帳戶我廣泛地使用git,並且都位於不同的路徑。今天我到了工作,我不能做任何事情,我看到的是:刪除.git/index.lock':權限被拒絕

/Applications/MAMP/htdocs/my_site/.git/index.lock': Permission denied 

對於所有我關心的分支,我就可以將其刪除。我嘗試刪除分支,檢出其他分支,刪除index.lock文件(如網站上其他用戶所建議的那樣)。我只有終端窗口打開,沒有其他可能的程序使用git(據我所知,在活動窗口中沒有任何明顯的)。我已經將計算機重新啓動,直接進入我的工作帳戶,但仍然沒有運氣。我怎樣才能刪除這個鎖?

+0

'.git'和'.git/index.lock'上的權限掩碼和所有權是什麼? – cdhowie

回答

11

檢查該用戶擁有git的鎖定:

ls -la /Applications/MAMP/htdocs/my_site/.git/index.lock 

然後你可以使用sudo將其刪除。

+0

哇.......明白了,你的評論讓我看起來不一樣,謝謝你:)在x-mas假期期間,我將MAMP免費升級到家裏的PRO(家庭帳戶),當我今天早上上班時登錄到我的工作帳戶我沒有注意到,my_site下的所有內容都已更改爲我的主帳戶,這使我的工作帳戶無法訪問任何git命令。我chown了它,現在它工作。謝謝。 – user1760561

6

更新xcode後,您可能會被要求同意新的許可證。

的git的init

在同意的Xcode/iOS的許可證需要管理員權限,請通過sudo重新以root身份運行。

當你做到這一點

須藤的git的init

,你會得到一個root用戶的.git目錄

drwxr-XR-×10根XXXX 340 9月25日12:40 .git

如果您調用其他創建文件的git命令,則也會爲root用戶創建這些文件。

更改權限或刪除.git如果你不需要它。

=>永遠不要用sudo呼叫git !!! 如果你被要求只需撥打一個空目錄

的mkdir富

CD富

須藤的git的init

22

我想犯相同問題的git我對git的改變,並用這種方法解決了它:

  • 我需要更改我的.git文件夾及其內容的組:

    sudo chown -R:。Git的

  • 需要改變這個文件夾的權限:

    須藤搭配chmod -R 775 git的

+0

此解決方案致命:無法創建'/Users/Shared/Jenkins/Home/jobs/FMS-UI-Automation/.git/index.lock':權限被拒絕的錯誤。 – vikramvi

1

我正經歷着試圖更新我的回購的子模塊時,同樣的問題:

$ git submodule update 
fatal: Unable to create '.../.git/modules/deps/luajit/index.lock': 
    Permission denied 
Unable to checkout '04dc64b558025e76a820f89a8e41840bf8269f32' in 
    submodule path 'deps/luajit' 

看來問題是子模塊屬於不同的用戶,所以我重新設置所有權對我說:

cd .git/modules/ 
chown -R dpino.dpino * 

在應用這個片段時,記得用你自己的用戶chown -R user.group *