Que signifie l'avertissement remote: warning: unable to access '/root/.config/git/attributes': Permission denied
et quelles implications cela a-t-il?
$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.
Dois-je signaler un problème d'infrastructure potentiel à l'hébergeur?
Réponses:
J'ai moi-même rencontré cette situation. Après avoir vérifié qu'il recherchait,
~/.config/
j'ai remarqué que le propriétaire de ce dossier étaitroot
. J'ai changé celamy_user_name
et cela a fonctionné.Il est également utile d'en connaître la cause: ce répertoire est créé la première fois que vous exécutez un programme qui l'utilise. Si la commande a été exécutée en tant que
root
, cela provoquera ce problème d'autorisations.Par exemple, si le
~/.config
répertoire n'existe pas encore, et que vous exécutezsudo htop
, les répertoires~/.config
et~/.config/htop
seront créés et détenus parroot
. Ensuite, une commande git régulière ne pourra pas accéder~/.config
et donnera l'avertissement ci-dessus. (Crédit: user mehtunguh)L'
-R
option avecchown
est de modifier les permissions de manière récursive. Cela vous aidera si vous avez des sous-dossiers sous~/.config
la source
~/.config
répertoire n'existe pas encore, et que vous exécutezsudo htop
, les répertoires~/.config
et~/.config/htop
seront créés et détenus par root. Ensuite, unegit
commande régulière ne peut pas accéder~/.config
et donnera cet avertissement.Je pense que votre
HOME
variable d'environnement est mal définie.À partir du fil de discussion du groupe Google ,
la source
Git essaie de lire la configuration à partir de la racine au lieu de la configuration de l'utilisateur. Veuillez vérifier que vos variables d'environnement ont le bon jeu de configuration git ou que le fichier .gitconfig de votre dossier personnel est accessible.
la source
Aller au répertoire racine
cd ~/
Écrivez le code suivant:
sudo chown -R username /Users/username
Où nom d'utilisateur est le nom d'utilisateur de votre système.
la source
J'ai couru le problème similaire et j'ai pu le résoudre côté serveur. git y fonctionne sous uwsgi donc j'ai ajouté dans uwsgi config la ligne suivante:
où / srv / git appartient au même uid sous lequel uwsgi s'exécute et est créé
chmod u+rwX /srv/git
Ainsi, vous devez pointer la variable HOME côté serveur pour le processus qui exécute git vers le répertoire où ce processus aura des autorisations de lecture / écriture / traversée.la source
Pour Windows, il peut s'agir d'un cas où un processus comme CMD ou un client SSH a ouvert un dossier que Git tente de supprimer.
la source