2013-01-02 108 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 *