Проблема с Git commit: Невозможно добавить в .git / - PullRequest
12 голосов
/ 14 июля 2011

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

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

tomas@tomas-laptop:~/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 - это название моего проекта.

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

Ответы [ 6 ]

47 голосов
/ 14 июля 2011

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

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

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

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

 sudo chown -Rc $UID .git/

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

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

0 голосов
/ 12 сентября 2017

использование

sudo chown -R youremailid .git /

0 голосов
/ 30 декабря 2015

Команда Linux:

  • sudo chown -Rc $ UID .git /
  • id -u {имя_руза}

и результат: измененвладение «.git / pack-refs» от пользователя root до 1000

изменило владение «.git / logs / HEAD» с root на 1000

сменило владельца файла .git / logs /refs /head / 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

0 голосов
/ 11 марта 2013

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

0 голосов
/ 02 января 2013

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

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

и

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

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

0 голосов
/ 14 июля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...