Ich habe einen Git-Fehler: "Unzureichende Berechtigung zum Hinzufügen eines Objekts zur Repository-Datenbank .git / Objekte" jedes Mal, wenn ich "Git-Pull-Ursprung entwickeln" lasse.
remote: Counting objects: 70, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 42 (delta 35), reused 42 (delta 35)
error: insufficient permission for adding an object to repository database .git/objects
fatal: failed to write object
fatal: unpack-objects failed
.git/objects
Datei. Es hört sich so an, als hätten Siesudo
irgendwann in der Vergangenheit fälschlicherweise verwendet und sich selbst das Eigentum übertragenroot
..git
ist ein Verzeichnis, das an der Basis jedes Git- Repos existiert.Antworten:
Vorausgesetzt, @ChrisHayes hat Recht mit einem versehentlichen Sudo, sollte dies das Problem beheben. Aus Ihrem Repository heraus:
Update : Wenn Sie den
illegal group name
Fehler erhalten, versuchen Sie stattdessen Folgendes:quelle
git rev-parse --show-toplevel
das Ich konnte das Problem beheben, indem ich eschown -R user:user
im obersten Verzeichnis meines Repos verwendete.sudo chown -R $USER:$USER .git
illegal group name
Gehen Sie zum Stammverzeichnis des Projekts und führen Sie die folgenden Befehle aus, um dieses Problem zu beheben.
quelle
Meins war ein dummer Fehler ... der richtige Benutzername und die richtige Gruppe wurden festgelegt, aber www-data war das Konto, auf das zugegriffen wurde. Das Verzeichnis gehörte vaindil: www-data, aber die Berechtigungen waren 755, sodass www-data nicht darauf schreiben konnte. Es wurde behoben mit:
quelle
Entfernen Sie .git aus der URL, wenn Sie versuchen, ein öffentliches Repository von github zu klonen.
Beispiel:
Von: https://github.com/example/repository.git An: https://github.com/example/repository
quelle
KEINE GUTE PRAXIS (nur eine Alternative)
Ich benutze Ubuntu und hatte das gleiche Problem. Um das Problem zu lösen, habe ich einfach den Benutzer auf root umgestellt und sehe keinen weiteren Fehler.
Dann,
Empfohlener Weg: ÄNDERN SIE DIE ERLAUBNIS DES VERZEICHNISSES
quelle
sudo
), es wird jedoch empfohlen, Befehle nach Möglichkeit nicht als Root auszuführen.