Прерывание фиксации из-за сообщения о пустом сообщении
Как пользователь newbie git, когда я пытаюсь выполнить свою работу с помощью
git commit -a -v
и я ввожу сообщение фиксации в свой редактор, я закрываю файл и получаю эту ошибку:
Aborting commit due to empty commit message.
Я прочитал почти все темы, посвященные этой проблеме, изменил редакторы, в основном пробовал все, но ничего не помогает. Что мне делать?
Одна вещь, которую я заметил, при попытке всего процесса с помощью блокнота ++, файл не мог быть сохранен.
Возможным обходным путем является следующее:
git commit -am "SomeComment"
Но, делая это, я чувствую, что я свожу на нет цель использования git. Я хочу правильно документировать свои изменения.
Ответы
Ответ 1
Когда вы устанавливаете редактор в конфигурации Git, обязательно передайте параметр "-w", чтобы заставить Git ждать ваше сообщение фиксации, которое вы наберете в своем настраиваемом редакторе.
git config --global core.editor "[your editor] -w"
Ответ 2
Эта ошибка может произойти, если ваш комментарий коммита - это одна строка, начинающаяся с символа #
. Например, я получил эту ошибку, когда в моем текстовом редакторе текстовых сообщений сообщения комментировал следующее:
#122143980 - My commit message was here. The number to the left is a Pivotal Tracker story/ticket number that I was attempting to reference in the commit message.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch [MYBRANCH]
# Your branch is up-to-date with 'origin/[MYBRANCH]'.
#
# Changes to be committed:
# modified: [MYFILE1]
# modified: [MYFILE2]
#
Проблема, конечно, в том, что мое сообщение commit начиналось с символа #
, поэтому git видел эту строку как комментарий и, следовательно, видел сообщение commit как пустое, так как у него было только комментарии!
Исправление должно было начаться с моего сообщения с символом, отличным от #
.
В моем конкретном случае включение идентификатора Pivotal в квадратных скобках сделало как git, так и Pivotal счастливым:
[#122143980] My commit message here.
Ответ 3
Для кода Visual Studio
git config --global core.editor "code -w"
Для атома
git config --global core.editor "atom -w"
Для возвышенного
git config --global core.editor "subl -w"
Ответ 4
Если вы хотите зафиксировать правильную (длинную, многострочную комментариев) документацию, но не хотите использовать параметр -m
, что вы можете сделать (и что я делаю при подготовке мои коммиты):
- напишите свою документацию (при внесении изменений) в отдельный файл 'doc-commit' (или любое другое имя, которое вы хотите назвать)
- совершить с '
git commit -a -F /path/to/doc-commit
')
Короче говоря, используйте отдельный файл (который может быть любым желаемым путем) в качестве сообщения о фиксации.
Ответ 5
Я тоже новичок в Git. Я столкнулся с той же проблемой, что и ваша. Я решил это, набрав:
git commit -a -m 'some message'
Причина в том, что git не разрешает фиксацию без сообщений. Вы должны связать некоторые сообщения с вашей командой commit.
Ответ 6
У меня была эта проблема. Я только что установил 1.8.0 раньше, и я обнаружил, что мне пришлось немного модифицировать это. Я очень много нового, но по сути кажется, что при совершении он будет использовать content.editor, а не core.editor, по крайней мере, если у вас есть что-то настроенное для content.editor.
Итак, это было
git config --global content.editor "pico -w"
что, наконец, позвольте мне совершить!
Разумеется, конечно, используйте любой редактор, который вы используете.
Надеюсь, это когда-нибудь поможет кому-нибудь!
Ответ 7
git не разрешает фиксацию без сообщения. Вы указали сообщение фиксации в диалоге фиксации?
Обратите внимание, что строки, начинающиеся С#, обрабатываются как комментарии git и не рассматриваются как комментарии и игнорируются Git.
Ответ 8
На машине Windows для редактора "Sublime" мы также можем добавить следующую строку в файле .gitconfig в следующей папке [ВАШЕ ДИСКОВОЙ ПИСЬМО]:/users/username/
[core]
editor = '[YOUR DRIVE LETTER]:/Program Files/Sublime Text [YOUR VERSION NUMBER]/sublime_text.exe' --wait
Надеюсь, что это поможет.
Ответ 9
Я сконфигурировал свой атомный редактор как
git config --global core.editor "atom --wait"
но когда я сделал
git commit
когда атом уже был запущен, он открыл новую вкладку для добавления комментариев, но git не ожидал, что я сохраню файл и вытащу сообщение "Отменить" мгновенно. Когда я закрыл атом и попытался совершить еще один раз, git запустил атом и ждал добавления комментариев.
Ответ 10
Сначала удалите старые записи редакторов:
git config --global --unset-all core.editor
git config --unset-all core.editor
Задайте свой редактор:
Ответ 11
Для комментариев к Notepad ++ (Windows) выполните следующее:
1. Создайте пакетный файл где-нибудь (например, c:\Users\me\scripts\npp.bat)
Запишите это в пакетном файле (в зависимости от того, где установлен ваш Notepad ++):
"C:\Program Files\Notepad++\notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"
2. Сохранить пакетный файл.
3. Откройте .gitconfig(который обычно находится в папке пользователя Windows) и убедитесь, что
в разделе [core]:
editor = '"c:\\Users\\me\\scripts\\npp.bat"'
Или запустите:
git config --global core.editor '"c:\Users\me\scripts\npp.bat"'
4. Теперь выполните фиксацию какого-либо типа, и он откроет Notepad ++, git commit теперь будет ждать закрытия окна "Блокнот ++".
Ответ 12
Удостоверьтесь, что столица W.
git config --global core.editor "open -a 'Sublime Text 2' -W"
или используйте следующую команду, чтобы заменить существующую, которая не работает должным образом.
git config --replace-all core.editor "open -a 'Sublime Text 2' -W"
Ответ 13
Ожидается сообщение о коммите.
Для vim: (я тоже новичок. До сих пор я работал только с vim)
После вашей команды,
git commit -v
Вы будете перенаправлены в файл с именем
".Git/COMMIT_EDITMSG"
Это открывается в вашем редакторе (который в моем случае vim)
Вы найдете много комментариев, которые выглядят точно так же, как вы видели, когда делали
git status OR
git diff
Если вы заметили, вы можете увидеть пустую строку сверху - там, где ожидается сообщение о коммите.
Вы можете ввести здесь сообщение о коммите и сохранить & выйти из редактора. Это было сделано!
Ответ 14
Я исправил проблему, переключившись с моего любимого редактора MacVim, который открывает новое окно, на стандартный vim vim в /user/bin/vim, который открывается в том же окне, что и оболочка, откуда он вызывается, и это кажется чтобы устранить проблему.
Ответ 15
У меня возникла эта проблема, и я обнаружил, что если я не оставляю комментарий после коммита, это выдает мне эту ошибку. Если я сразу перехожу к главному bash, он не фиксируется. Просто чтобы быть более понятным, я использую GIT Bash, а не другой редактор
Ответ 16
Когда я использовал полный путь к файлу Atom, он не работал, поэтому вместо использования:
git config --global core.editor "c:/programs/atom/atom.exe -w"
Я использовал:
git config --global core.editor "atom -w"
и все работало просто отлично. Удачи!
ВАЖНО: Сначала убедитесь, что atom начинает правильно вызывать его (atom) из командной строки, которую вы используете.