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

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

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


当前回答

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

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

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

其他回答

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

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

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

1- sudo chmod g+w .git -R

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

2 - rm -f .git/FETCH_HEAD

当我在做包安装时,我得到:

Following files may not be writable, so sudo is needed:
  /Library/Ruby/Gems/2.6.0
  /Library/Ruby/Gems/2.6.0/bin
  /Library/Ruby/Gems/2.6.0/build_info
  /Library/Ruby/Gems/2.6.0/bundler
  /Library/Ruby/Gems/2.6.0/cache
  /Library/Ruby/Gems/2.6.0/doc
  /Library/Ruby/Gems/2.6.0/extensions
  /Library/Ruby/Gems/2.6.0/gems
  /Library/Ruby/Gems/2.6.0/specifications
Fetching gem metadata from https://rubygems.org/.........
error: cannot open .git/FETCH_HEAD: Permission denied

我已经按照这里的步骤更新了bash_profile,添加了一个rbenv shim。

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

但不知什么原因,我把它们删掉了。一旦我取消了注释,我就能够成功地运行bundle install。

当我在windows上使用git扩展时,我得到了这个消息。我的解决方案是简单地关闭git扩展,然后以管理员身份再次打开

如果在Windows服务器上发现同样的问题,则需要运行具有足够权限的命令行,例如管理员权限。