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

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服务器上发现同样的问题,则需要运行具有足够权限的命令行,例如管理员权限。

其他回答

试试这样吧,

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

$ whoami 

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

sudo chown -R ubuntu .git/

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

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

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

使用实例设置当前用户的权限

$ sudo chown -R <用户名> .git/

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

当。git文件夹被隐藏时,其中的所有文件也被隐藏。 只隐藏.git文件夹而不更新递归文件,它将工作。