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

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

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


当前回答

试试这样吧,

第一步:首先确认你是谁?它将返回当前用户名,例如ubuntu

$ whoami 

步骤2:然后设置您当前用户的权限,在这种情况下,ubuntu by

sudo chown -R ubuntu .git/

其他回答

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

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

这个错误的原因可能是多重的,但在我的情况下,我更新了根分支,然后当我试图更新它与普通用户它给我错误。

尝试两种解决方案,其中一种应该对你有效

1- sudo chmod g+w .git -R

如果它不工作,请尝试下一个解决方案,希望它能解决你的问题

2 - rm -f .git/FETCH_HEAD

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

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

希望能有所帮助!!

在我的例子中,我只有对.git/FETCH_HEAD文件的读访问权。我必须做“sudo chmod g+w .git/FETCH_HEAD”,以便能够做一个拉请求。

我在Windows上有第一个问题(FETCH_HEAD权限被拒绝)。

我以管理员身份运行Git Bash(右键单击,以管理员身份运行)来解决这个问题。