Используя git commit -a с vim

Я новичок в git, поэтому решил изучить git с помощью руководств github. В третьей главе говорится:

"Для этого первого примера хорошо измените файл README, чтобы добавить себя как автора в проект. Поэтому мы просто редактируем файл. Теперь мы хотим зафиксировать это изменение, поэтому мы запускаем команду git commit -a.

Когда я использую команду git commit -a, консоль открывает vim, и я написал свое сообщение, но я не знаю, как закрыть этот редактор vim с консоли. Как сохранить сообщение и закрыть vim?

Ответ 1

  • В vim вы сохраняете файл с : w Enter в обычном режиме (вы попадаете в обычный режим, нажимая Esc).
  • Вы закрываете файл : q в обычном режиме.

Вы можете объединить оба эти действия и сделать Esc : w q Enter, чтобы сохранить фиксацию и выйти из vim.

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

Ответ 2

Вместо того, чтобы пытаться учиться vim, используйте другой простой редактор (например, nano, например). Насколько мне нравится vim, я не думаю, что использовать его в этом случае - это решение. Для его освоения требуется время и время.

git config core.editor "nano"

Ответ 3

Смотрите эту ветку для пояснения: VIM для Windows - что мне печатать для сохранения и выхода из файла?

Как я писал там: чтобы узнать Vimming, вы можете использовать одну из быстрых ссылочных карт:

Также обратите внимание на Как настроить редактор для работы с Git в Windows?, если вам не удобно использовать Vim, но вы хотите использовать другой редактор для ваших сообщений о фиксации.

Если ваше сообщение о фиксации не слишком длинное, вы также можете ввести

git commit -a -m "your message here"

Ответ 5

Лучший вопрос: как прервать фиксацию при выходе из vim?

Есть два способа:

  • :cq или :cquit
  • Удалить все строки сообщения фиксации, включая комментарии, а затем :wq

В любом случае код ошибки будет git, поэтому он не будет продолжать коммит. Это особенно полезно при использовании git commit --amend.

Ответ 6

Чтобы выйти из удара: q позволит вам выйти.

Если вы хотите выйти без сохранения, вы можете нажать: q!

Поиск google в "vim cheatsheet" может предоставить вам ссылку, которую вы должны распечатать с помощью набора быстрых ярлыков.

http://www.fprintf.net/vimCheatSheet.html

Ответ 7

это сработало для меня:

git commit --amend -m "my commit message"