140 votes

Erreur lors de l'extraction depuis git - permission insuffisante pour ajouter un objet à la base de données du référentiel .git/objects

J'ai une erreur git : "insufficient permission for adding an object to repository database .git/objects" à chaque fois que je fais "git pull origin develop".

    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

311voto

dwurf Points 3683

En supposant que @ChrisHayes a raison au sujet d'un sudo accidentel, cela devrait le réparer. Depuis l'intérieur de votre dépôt :

sudo chown -R $USER:$USER "$(git rev-parse --show-toplevel)/.git"

Mise à jour : pour ceux d'entre vous qui reçoivent le illegal group name essayez plutôt ceci :

sudo chown -R $(id -u):$(id -g) "$(git rev-parse --show-toplevel)/.git"

26voto

Priyank Points 1377

Allez dans le répertoire racine du projet et exécutez les commandes suivantes pour résoudre ce problème,

cd .git/objects
sudo chown -R yourname:yourgroup *

3voto

Vaindil Points 1098

La mienne était une erreur stupide... le bon nom d'utilisateur et le bon groupe étaient définis, mais www-data était le compte qui y accédait. Le répertoire appartenait à vaindil:www-data, mais les permissions étaient de 755, donc www-data ne pouvait pas y écrire. Je l'ai corrigé avec :

$ sudo chmod -R 775 /path/to/repo

0voto

Nabin Points 928

PAS UNE BONNE PRATIQUE (Juste une alternative)

J'utilise Ubuntu et j'ai rencontré le même problème. Pour le résoudre, j'ai simplement changé l'utilisateur en Root et je ne vois plus d'erreur.

$su
password

Ensuite,

$git pull origin master

Voie recommandée : CHANGER LA PERMISSION DU RÉPERTOIRE

0voto

Gaurav Arora Points 9

Supprimez .git de l'url, si vous essayez de cloner un dépôt public depuis github.

exemple :

De : https://github.com/example/repository.git A : https://github.com/example/repository

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X