无法访问'git/attributes'

  • 本文关键字:attributes git 访问 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.

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

我自己也遇到了这种情况。在验证它正在查找~/.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 将由 root 创建并拥有。之后,常规的 git 命令将无法访问~/.config并给出上述警告。(图片来源:用户@krethika)

chown -R选项是递归修改权限。如果您在~/.config下有子文件夹,这将有所帮助

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

从谷歌群组线程,

HOME 环境变量设置为 /root,因此它查看/root/.gitconfig/root/.config/git/config,因为非特权用户无权访问/root它抛出错误。

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

转到根目录

cd ~/

编写以下代码:

sudo chown -R username /Users/username

其中用户名是您系统的用户名。

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

这是用户权限的问题。你必须给自己根特权。

您可以通过切换到 root 用户来暂时解决此问题。为此;

sudo su

通过这样做成为根。然后,您需要在此处添加 git 配置设置,以及要迁移到其他用户。为此也是如此

git config user.email "you@example.com"
git config user.name "Your Name"

然后再次重复您的操作。它应该工作

我已经运行了类似的问题,并能够在服务器端修复它。 git 在 uwsgi 下运行,所以我在 uwsgi 配置中添加了以下行:

env = HOME=/srv/git

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

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

最新更新