无法访问'git / attributes'

时间:2014-11-26 13:51:17

标签: git

警告remote: warning: unable to access '/root/.config/git/attributes': Permission denied的含义及其带来的影响是什么?

$git clone git://git.eclipse.org/gitroot/egit/egit.git
Cloning into 'egit'...
remote: warning: unable to access '/root/.config/git/attributes': Permission denied
remote: Counting objects: 57926, done.
remote: Compressing objects: 100% (11872/11872), done.
remote: Total 57926 (delta 30734), reused 56308 (delta 29136)
Receiving objects: 100% (57926/57926), 32.29 MiB | 1021 KiB/s, done.
Resolving deltas: 100% (30734/30734), done.
Checking out files: 100% (1483/1483), done.

我应该向托管人报告潜在的基础设施问题吗?

7 个答案:

答案 0 :(得分:73)

我自己遇到了这种情况。在验证它正在查看~/.config/后,我发现该文件夹的所有者是root。我将其更改为my_user_name并且有效。

cd ~/
ls -al
<Noticed .config was owned by root, unlike everything else in $HOME>
sudo chown -R $(whoami) .config

它也有助于了解原因:首次运行使用它的程序时会创建此目录。如果命令以root运行,则会导致此权限问题。

例如,如果~/.config目录尚不存在,并且您运行sudo htop,则~/.config~/.config/htop将由{{1}创建并拥有}}。之后,常规git命令将无法访问root并将发出上述警告。 (信用:用户mehtunguh)

~/.config的{​​{1}}选项是递归修改权限。如果您在-R

下有子文件夹,这将有所帮助

答案 1 :(得分:6)

我认为你的HOME环境变量设置不正确。

来自google group thread

  

HOME环境变量设置为/root,因此它查看了/root/.gitconfig/root/.config/git/config,因为没有特权的用户无法访问/root它投掷了错误。

     

因此解决方案是让我将HOME环境设置为用户的HOME目录

答案 2 :(得分:2)

Git正试图从root而不是用户配置读取配置。请检查您的环境变量是否具有正确的git配置集,或者可以访问主文件夹中的.gitconfig文件。

答案 3 :(得分:0)

我遇到了类似的问题,并且能够在服务器端修复它。 git在uwsgi下运行,所以我在uwsgi config中添加了以下行:

env = HOME=/srv/git

其中/ srv / git由uwsgi运行并由其制成chmod u+rwX /srv/git的同一个uid拥有 因此,您需要在服务器端将HOME变量指向运行git的进程到该进程将具有读取/写入/遍历权限的目录。

答案 4 :(得分:0)

转到根目录

cd ~/

编写以下代码:

sudo chown -R username /Users/username

用户名是系统的用户名。

答案 5 :(得分:0)

对于Windows,可能是某些情况,例如CMD或SSH客户端之类的进程打开了一些Git试图删除的文件夹。

答案 6 :(得分:-2)

您还可以检查计算机上/root/.config/git/文件夹的所有者