Проблемы с вводом сообщения Git commit с Vim - PullRequest
138 голосов
/ 08 апреля 2011

ОС: Windows

Я пишу

$ git commit

, затем

"# Пожалуйста, введите сообщение коммита"

Я пишу какой-то текст, например

«Проверка формы добавлена»

Нажмите Enter и не подтверждены.Затем я нажимаю Shift + Enter, Ctrl + Enter, Alt + Enter - все еще не зафиксировано.

Я думаю, что это глупая проблема, но что я должен сделать?

Ответы [ 5 ]

225 голосов
/ 08 апреля 2011

Если это VIM для Windows, вы можете сделать следующее:

  • введите ваше сообщение, следуя представленным инструкциям
  • нажмите Esc , чтобы убедиться, что вы вышли из режима вставки
  • затем введите :wq Введите или ZZ.

Обратите внимание, что в VIM часто есть несколько способов сделать одну вещь. Здесь есть небольшая разница, хотя. :wq Ввод всегда записывает текущий файл перед его закрытием, тогда как ZZ, :x Ввод , :xi Ввод , :xit Введите , :exi Введите и :exit Введите , пишите только, если документ изменен .
Все эти синонимы просто имеют разное количество нажатий клавиш.

44 голосов
/ 08 апреля 2011

Я предполагаю, что вы используете msys git.Если вы, редактор, который появляется, чтобы написать ваше сообщение о коммите, vim.Поначалу Вим не дружелюбен.Вы можете предпочесть переключиться на другой редактор.Если вы хотите использовать другой редактор, посмотрите на этот ответ: Как использовать Notepad ++ (или другой) с msysgit?

Если вы хотите использовать vim, введите i, чтобывведите ваше сообщение.Когда рад, ударил ESC.Затем введите :wq, и git будет счастлив.

Или просто введите git commit -m "your message here", чтобы вообще пропустить редактор.

15 голосов
/ 08 апреля 2011

Вы пытались просто пойти: git commit -m "Message here"

Итак, в вашем случае:

git commit -m "Form validation added"

После того, как вы добавили свои файлы, конечно.

1 голос
/ 08 апреля 2011

Как правило, git commit вызывает интерактивный редактор (в Linux и, возможно, Cygwin, определяемый содержимым вашей переменной окружения $EDITOR), в который вы можете отредактировать сообщение коммита. При сохранении и выходе коммитзавершает.

Вы должны убедиться, что изменения, которые вы пытаетесь зафиксировать, были добавлены в индекс Git;это определяет, что совершено.Подробнее см. http://gitref.org/basic/.

0 голосов
/ 12 апреля 2014

Вы можете изменить символ комментария на что-то кроме #, например:

git config --global core.commentchar "@"
...