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

Git проблема с фиксацией: невозможно добавить к .git/

Я не могу зафиксировать изменения в моем проекте при использовании git.

Вот мой терминал:

[email protected]:~/menu_operations$ git commit -m "initial commit"
error: Unable to append to .git/logs/refs/heads/7.x-1.x: Permission denied
fatal: cannot update HEAD ref

menu_operations - это имя моего проекта.

Я не знаю, какое разрешение я должен разрешить. Может ли кто-нибудь помочь?

4b9b3361

Ответ 1

Проверьте пользователя и разрешения на .git/logs/refs/heads/, возможно, вы что-то использовали как root.

Объяснение: когда вы запускаете некоторые команды git как root (sudo?), любые созданные новые файлы/каталоги будут принадлежать root, а по умолчанию [1] у других пользователей не будет права на запись в эти файлы/каталоги.

Когда вы, позже, работаете с этим репозиторием, все может работать, до тех пор, пока вам не понадобится писать в файл, который на самом деле был создан root, т.е. принадлежит root.

Это должно исправить это, по крайней мере, в linux:

 sudo chown -Rc $UID .git/

Он также покажет вам файлы, для которых он изменил владельцев.

[1] в правильной настройке, по крайней мере

Ответ 2

Проверьте пользователя и разрешения на .git/logs/refs/heads/, возможно, вы что-то использовали как root.

Ответ 3

Просто хотел добавить для тех, кто развертывает с Capistrano, что вы должны работать с .git/каталогами здесь

/var/www/rails/production/shared/git_cache/.git

и

/var/www/rails/production/current/.git

Предполагается, что вы используете эти данные, и что вы нажимаете на производство... но это должно заставить вас двигаться в правильном направлении.

Ответ 4

chown -R $(whoami)/usr/local.git должен это сделать.

Ответ 5

использовать

sudo chown -R youremailid.git/

Ответ 6

Команда Linux:

  • sudo chown -Rc $UID.git/
  • id -u {yourusername}

и результат: изменилось право собственности на .git/упакованные refs от root до 1000

изменилось право собственности на .git/logs/HEAD от root до 1000

изменилось право собственности на .git/logs/refs/heads/master от root до 1000

изменено право собственности на .git/logs/refs/remotes/origin/HEAD от root до 1000

изменилось право собственности на .git/logs/refs/remotes/origin/master от root до 1000

изменилось право собственности на .git/objects/pack/pack-b905d78889aea64ca69a61c0efaa76ba95b08786.idx от root до 1000

изменилось право собственности на .git/objects/pack/pack-b905d78889aea64ca69a61c0efaa76ba95b08786.pack от root до 1000

изменилось право собственности на .git/objects/info/packs от root до 1000

изменилось право собственности на .git/info/refs от root до 1000