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

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

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


当前回答

运行Windows 7,当我遇到这个问题时,是因为我隐藏了。git文件夹。权限没有问题,只是被隐藏了。显示文件夹解决了这个问题。

其他回答

试试这样吧,

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

$ whoami 

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

sudo chown -R ubuntu .git/

这里有很多答案,很多建议做咀嚼。 对我来说,将user改为拥有该文件夹的用户(在我的例子中是tomcat)要容易得多,因为所有者可以这样写: Sudo su tomcat 然后做一个 git拉 无需更改权限。我更喜欢这样做,因为我不需要记得在完成操作后重新更改权限。

要找到拥有该文件夹的用户,执行ls -la

注意:不要给所服务的文件夹非sudo写访问权限!

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

这是一个UNIX权限问题。不要使用sudo来克隆存储库。您没有与根用户相同的ssh密钥,而且您不应该以根用户身份工作。尝试ls -la查找文件的权限,并使用chmod(或sudo chown)来修复它们。希望这能有所帮助。

删除.git文件中的FETCH_HEAD将解决这个问题。