Intereting Posts
Как объединиться между двумя локальными репозиториями Блемикс искра джазжуб аджар Git: изменить временную метку после нажатия Зависимость библиотеки SBT от Github выпущена JAR визуальный сервер svn с iis 7 Как я могу исправить путь моего локального репозитория git после переезда? Как использовать клиент JavaHL с репозиторией Subversion? Git – Как я могу надежно запросить, если какие-либо файлы в master были обновлены с помощью слияния или фиксации с определенного периода времени? Доступ пользователя SVN к определенной конфигурации проектов Как объединить определенный идентификатор фиксации из другой ветви в том же репо Проверьте, существует ли ветвь git в цикле while команда git завершена с ненулевым значением выхода 128 Дженкинс, создание сервера и восстановление nuget Когда происходит перезагрузка, какие файлы отображаются git с добавлением `~ branchname` и` ~ HEAD`? Заказ git-rev-list

фатальный: не удалось открыть '.git / COMMIT_EDITMSG': разрешение отклонено

Я пытаюсь развернуть октопресс на страницах github. Я выполнил следующие инструкции:

http://octopress.org/docs/deploying/github/

Все это хорошо работало до части фиксации, где я получаю ошибку:

фатальный: не удалось открыть '.git / COMMIT_EDITMSG': разрешение отклонено

Конечно, я владелец моей страницы github.io, и у меня никогда не было этой проблемы раньше. Почему это происходит, и что еще более важно, как мне его решить?

Это не сообщение об ошибке из удаленного репозитория Git, это проблема с вашими локальными файлами. Вероятно, вы использовали git (или rake) в качестве другого пользователя (например, root) в этом же каталоге и создали файлы, которые вы теперь не можете перезаписать.

Просто используйте chown, чтобы изменить права собственности на файлы на вашего текущего пользователя, например:

 chown --recursive $(whoami) . 

Я решил это, удалив .git/COMMIT_EDITMSG . Странно, я знаю.

Если вы работаете над чертой Microsoft Windows, ошибка может быть связана с тем, что вы «просматриваете» скрытые файлы в файловом проводнике.

другое решение для пользователей Windows: если вы используете YandexDisk – и вашу .git-папку под синхронизацией – YandexDisk устанавливает скрытые и readonly атрибуты после syncronisations. Итак, выключите YandexDisk и сделайте папку .git, а все вложенные папки и файлы НЕ невидимы и не прочитаны

chmod 664 файл .git/COMMIT_EDITMSG предоставляет права доступа к группе.

В моей ситуации файл принадлежал другому пользователю, который был частью моей группы разработки. Предоставление разрешения на групповую запись разрешило его.

Каталог .git должен находиться в корне вашего репозитория.

Команда (если вы находитесь в каталоге .git):

 chmod 664 COMMIT_EDITMSG 

Если вы используете TortoiseGit, возможно, вы уже открыли диалог Commit

Это, как правило, не относится к разрешению.

Такая ситуация может возникнуть, когда вам будет предложено записать сообщение фиксации при слиянии (например), и вы не сохраняете и не покидаете текстовый редактор, но вы просто уходите.

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

В моем случае причина заключается в том, что текущий пользователь (A) не COMMIT_EDITMSG владельцем файла COMMIT_EDITMSG (B), меняет текущего пользователя на B и фиксирует его снова. sudo su B

Просто запустите в командной строке: chmod 777 -Rf /var/www/html/project-name/.git