Подтвердить что ты не робот

Ошибка при извлечении из git - недостаточное разрешение для добавления объекта в базу данных репозитория .git/objects

У меня есть ошибка git: "Недостаточное разрешение для добавления объекта в базу данных репозитория .git/objects" при каждом создании "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
4b9b3361

Ответ 1

Предполагая, что @ChrisHayes прав насчет случайного sudo, это должно исправить это. Изнутри вашего репозитория:

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

Обновить: для тех из вас, кто получает ошибку illegal group name, попробуйте это вместо:

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

Ответ 2

Моя была глупой ошибкой... правильное имя пользователя и группа были установлены, но www-data - это учетная запись, обращаясь к ней. Каталог принадлежал vaindil: www-data, но разрешения были 755, поэтому www-data не могли писать на него. Исправлено:

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

Ответ 3

НЕ ХОРОШАЯ ПРАКТИКА (просто альтернатива)

Я использую Ubuntu и столкнулся с той же проблемой. Чтобы решить эту проблему, я просто переключил пользователя на root, и я больше не вижу ошибки.

$su
password

Затем

$git pull origin master