фатально: не удалось открыть".git / COMMIT EDITMSG': отказано в разрешении
Я пытаюсь развернуть octopress на страницах github. Я последовал этим инструкциям:--1-->
http://octopress.org/docs/deploying/github/
все это хорошо работало до совершать часть, где я получаю ошибку:
fatal: не удалось открыть '.git / COMMIT_EDITMSG': в разрешении отказано
Я владелец Моего github.io page, конечно, и у меня никогда не было этой проблемы раньше. Почему это происходит, и главное как делать Я разрешу это?
10 ответов
Это не сообщение об ошибке из удаленного репозитория Git, это проблема с вашими локальными файлами. Вероятно, вы использовали git (или rake) в качестве другого пользователя (например, root) в этом же каталоге, и он создал файлы, которые теперь вы не можете перезаписать.
просто используйте chown для изменения права собственности на файлы для вашего текущего пользователя, например:
chown --recursive $(whoami) .
Если вы работаете над кровавой Microsoft Windows, ошибка может быть связана с тем, что вы "смотрите" скрытые файлы в проводнике..вот так!
другое решение для пользователей Windows: если вы используете YandexDisk - и ваш .папка git при синхронизации - YandexDisk установить скрытый и только для чтения атрибутов после syncronisations. Итак, выключите YandexDisk и сделайте.папка git и все подпапки и файлы не невидимы и не только для чтения
chmod 664
файл .git/COMMIT_EDITMSG
дает ему права на запись в группу.
в моей ситуации файл принадлежал другому пользователю, который был частью моей группы разработки. Предоставление ему разрешений на запись группы решило его.
на .git
каталог должен находиться в корне вашего репозитория.
Command (предполагая, что вы находитесь в.git directory):
chmod 664 COMMIT_EDITMSG
Это, как правило, не проблема с разрешениями.
эта ситуация может возникнуть, когда вам будет предложено записать сообщение фиксации при слиянии (например), и вы не сохранить и выйти из текстового редактора, но вы просто выйти.
Git, похоже, предполагает, что кто-то все еще редактирует сообщение фиксации и отказывается перезаписывать существующий файл, поскольку это вызовет неожиданное поведение и потерю другого сообщения фиксации.
в моем случае причина в том, что текущий пользователь(A) не COMMIT_EDITMSG
владелец файла (B), измените текущего пользователя на B и зафиксируйте снова.
sudo su B
быстрое Примечание:
Если вы установили файл в hidden / readonly, это может произойти. Попробуйте настроить всю папку на unhidden и снимите флажок только для чтения.