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

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

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


当前回答

在我的案例工作中,我只是在命令之前写了sudo:

sudo npm run deploy

其他回答

错误消息“不能打开.git/FETCH_HEAD: Too many links”表示指向该文件的硬链接太多,可能超过了文件系统允许的最大限制。

要解决此问题,您可以尝试以下步骤:

Git branch——merged | grep -v "\*" | xargs -n 1 Git branch -d 运行git gc来清理存储库并减少对象和链接的数量。 如果上述步骤不起作用,您可能需要将存储库克隆到一个新目录并删除原始目录。

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

我的问题是Ubuntu命令行。

在以root用户登录后,我设法解决了这个问题。

sudo su
git pull

我得到这个,因为我有一个以上的用户帐户在我的盒子。我以用户A的身份登录,在用户B的目录中。用户A没有权限访问用户B的东西。当我意识到我不在文件系统中的位置时,这个错误就有意义了。

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

所以在总结中

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