请帮助我,我试图在我的终端运行这个:

asgard@asgard-A7N8X2-0:~/CollegePortal$ git pull
error: cannot open .git/FETCH_HEAD: Permission denied

那我试试这个

asgard@asgard-A7N8X2-0:~/CollegePortal$ sudo git pull
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

帮帮我,我不明白这个问题。


当前回答

对于MacOS用户(如果是High Sierra或更高版本)使用这个:

sudo chown -R $(whoami) $(brew --prefix)/*

其他回答

这个问题的答案是确保.git/FETCH_HEAD有写权限,这样你就全部设置好了。

我在Windows上遇到了这个问题,通过授予写权限解决了这个问题。

在unix中,可以从项目存储库中运行chmod a+rw .git/FETCH_HEAD,然后它就可以工作了。

看起来第一个不工作,因为您的用户没有更改目录的权限,第二个是因为您的根用户没有访问git存储库的正确SSH密钥。

根据您要做的事情,最好是将存储库克隆到另一个目录,或者将当前目录删除,以便您的用户拥有完全访问权限

查看。git目录的属主和所属组(首先进入。git的父目录)ll .git,查看目录的属主和所属组, 使用sudo usermod -a -G yourusername groupsofonwner将您的用户添加到所有者的组,然后登出=>登录和一切工作。

所以在总结中

进入git的父目录 $cd你的路径 找到.git目录的组所有者 $ ll . 将您的用户添加到该组 $usermod -a -G你的用户名ownergroupofgit 注销和登录系统后生效。 好好享受吧!)

当您没有给予.git文件夹足够的权限时,就会出现此问题。 要解决这个问题-

首先导航到您的工作目录。 输入命令- sudo chmod a+rw .git -R

希望能有所帮助!!

就我而言,

sudo chmod ug+wx .git -R

此命令有效。