Was bedeutet Warnung remote: warning: unable to access '/root/.config/git/attributes': Permission denied
und welche Auswirkungen hat sie?
$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.
Sollte ich dem Hoster ein potenzielles Infrastrukturproblem melden?
Antworten:
Ich bin selbst in diese Situation geraten. Nachdem
~/.config/
ich überprüft hatte, ob es angezeigt wurde, bemerkte ich, dass der Eigentümer dieses Ordners warroot
. Ich habe das geändertmy_user_name
und es hat funktioniert.Es ist auch hilfreich, die Ursache zu kennen: Dieses Verzeichnis wird erstellt, wenn Sie zum ersten Mal ein Programm ausführen, das es verwendet. Wenn der Befehl als ausgeführt wurde
root
, verursacht dies dieses Berechtigungsproblem.Wenn zum Beispiel das
~/.config
Verzeichnis noch nicht existiert, und Sie laufensudo htop
, die Verzeichnisse~/.config
und~/.config/htop
wird erstellt und im Besitz seinroot
. Danach kann ein regulärer git-Befehl nicht mehr zugreifen~/.config
und gibt die obige Warnung aus. (Bildnachweis: Benutzer mehtunguh)Die
-R
Option mitchown
besteht darin, die Berechtigungen rekursiv zu ändern. Dies ist hilfreich, wenn Sie Unterordner unter haben~/.config
quelle
~/.config
Verzeichnis noch nicht existiert, und Sie laufensudo htop
, die Verzeichnisse~/.config
und~/.config/htop
wird von root erstellt und besessen werden. Dann kann ein regulärergit
Befehl nicht darauf zugreifen~/.config
und gibt diese Warnung aus.Ich denke, Ihre
HOME
Umweltvariable ist falsch eingestellt.Aus dem Google-Gruppenthread ,
quelle
Git versucht, die Konfiguration von root anstelle der Benutzerkonfiguration zu lesen. Bitte überprüfen Sie, ob für Ihre Umgebungsvariablen die richtige Git-Konfiguration festgelegt ist oder auf die .gitconfig-Datei in Ihrem Home-Ordner zugegriffen werden kann.
quelle
Gehen Sie zum Stammverzeichnis
cd ~/
Schreiben Sie den folgenden Code:
sudo chown -R username /Users/username
Wobei Benutzername der Benutzername Ihres Systems ist.
quelle
Ich habe das ähnliche Problem ausgeführt und konnte es auf der Serverseite beheben. git läuft dort unter uwsgi, also habe ich in uwsgi config die folgende Zeile hinzugefügt:
Dabei gehört / srv / git derselben UID, unter der uwsgi ausgeführt und erstellt wird.
chmod u+rwX /srv/git
Daher müssen Sie die HOME-Variable auf der Serverseite für den Prozess, der git ausführt, auf das Verzeichnis verweisen, in dem dieser Prozess über Lese- / Schreib- / Durchlaufberechtigungen verfügt.quelle
Unter Windows kann es vorkommen, dass ein Prozess wie der CMD- oder SSH-Client einen Ordner geöffnet hat, den Git zu löschen versucht.
quelle