Подтвердить что ты не робот

Git совершить-путаницу

Я использую Git Bash и пытаюсь выяснить, что происходит, когда я набираю 'git commit -a'.

Похоже, что VIM открывается, чтобы редактировать сообщение о фиксации, но как сохранить и фактически завершить это коммитирование? Я набираю редактор и нажимаю Enter, но он просто создает другую строку.

FYI: Я использую VM Fusion на своем mac, поэтому некоторые из моих ключей могут быть немного разными

4b9b3361

Ответ 1

Просто оставьте VIM (командный режим → :wq).

Флаг

-a работает как:

git add -u
git commit ...
Флаг

-m указывает сообщение фиксации. Это сообщение является обязательным, поэтому, если вы его не передадите (git commit -m "My message"), текстовый редактор по умолчанию будет открыт (вы можете изменить его в конфигурации git), и вам придется написать сообщение о фиксации, затем сохранить и выйти редактора.

Ответ 2

это вопрос о VIM, а не git сам (если я не ошибаюсь)

VIM использует несколько режимов, для выхода из режима вставки нажмите ESC или ^ C. для сохранения и выхода из файла используйте ZZ, :x или :wq

просто для того, чтобы быть полным: git commit -a сначала добавит все содержимое отслеживаемых и измененных файлов в индекс, а затем создаст фиксацию (после указания сообщения фиксации внутри vim или вашего редактора)

Ответ 3

Чтобы сохранить фиксацию, вы сохраняете и выходите из файла, как обычно, в vim.

:wq

Если вы передумали и хотите прервать, вы выходите без сохранения.

:q!

Вам не нужно использовать VIM, но вы можете установить редактор, например, следующее изменит редактор git uses to textmate.

git config --global core.editor textmate

Ответ 4

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

В дополнение к методу, предложенному Эндрю Майерсом, об изменении редактора, вызываемого Git, вы можете включить простое сообщение в командной строке с чем-то вроде этого:

git commit -am 'This is my message for the commit. . . '

Если вы сделаете так, Git не беспокоит вас, открыв текстовый редактор вообще.