Ошибка при извлечении из 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
Ответы
Ответ 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