Git - Как закрыть коммит редактор?

Я новичок в Git и учусь на PDF. Я только что выполнил команду $ git commit и он открывает новый редактор. Но я пытаюсь закрыть этот новый редактор коммитов. Как это сделать? Я использую Git на Windows.

16 ответов

Решение

Сохраните файл в редакторе. Если это Emacs: CTRLX CTRLS для сохранения, тогда CTRLX CTRLC для выхода или если это vi ::wq

Нажмите esc первым выйти из редактирования. (в windows/vi)

Также были проблемы. В Linux я использовал Ctrl+XY для подтверждения), а затем вернулся к оболочке, готовой к вытягиванию / нажатию.

В Windows GIT Bash Ctrl+X ничего не делает и обнаруживает, что работает так же, как vi / vim. Нажмите i, чтобы войти в режим вставки. Введите описание в самом верху, нажмите esc, чтобы выйти из режима вставки, затем введите :x! (теперь курсор находится внизу) и нажмите Enter, чтобы сохранить и выйти.

Если печатать :q! вместо этого выйдет из редактора без сохранения (и фиксация будет прервана)

После написания сообщения о коммите просто нажмите клавишу Esc и затем напишите :wq или :wq! и затем Enter, чтобы закрыть файл Unix.

А еще лучше настройте редактор так, чтобы вам было удобно (например, gedit):

git config --global core.editor "gedit"

Вы можете прочитать текущую конфигурацию следующим образом:

git config core.editor

Вы также можете добавить сообщение коммита из командной строки.

git commit -m "blablabla"

и редактор не будет открыт в первую очередь.

После git commit Команда, которую вы ввели в редактор, поэтому сначала нажмите i затем начните печатать. После совершения вашего сообщения нажмите Ctrl + c затем :wq

В Mac 1. Нажмите shift+Z shift+Z (дважды заглавная Z).

Вы просто нажимаете клавишу.

сначала нажмите ESC + ввод, а затем нажмите:x + ввод

Альтернативы Nano (может сделать вашу жизнь проще):

В Windows используйте блокнот. В командной строке введите:

git config core.editor notepad

В Ubuntu / Linux используйте текстовый редактор (gedit). В окне терминала введите:

git config core.editor gedit

У меня была эта проблема, которая мне не понравилась, и я не смог ее выполнить. Я изменяю "в комментарии для", и это работает.

Я надеюсь, что это поможет кому-то!

В качестве альтернативы 'save & quit' вы можете использовать функцию git-commit git-commit-commitпо умолчанию привязан к Cc Cc. Это сохранит файл и закроет его. После этого вам все равно придется закрыть emacs с помощью Cx Cc, как упоминалось ранее. В настоящее время я пытаюсь выяснить, как заставить emacs выйти автоматически.

Каким-то образом мой терминал на Mac открывает редактор Joe, когдаgit commit. мне пришлось нажатьCtrl + K Hчтобы обратиться за помощью, это побудило меня нажатьCtrl + K + Xвыйти.

Обратите внимание, что если вы используете Sublime в качестве редактора коммитов, вам нужно -n -w флаги, иначе git продолжает думать, что ваше сообщение коммита пусто и прерывается.

Не уверен, что комбинация клавиш, которая приводит вас к приглашению>, но это не приглашение bash, которое я знаю. Я обычно получаю это случайно. Ctrl+C (или D) возвращает меня к приглашению $.

Что именно работает, зависит от того, в каком редакторе вы находитесь. Многие ответы здесь объясняют, как выйти илиvim(Escс последующим:wqпри приглашении сохранить файл и выйти), с добавлением некоторых других редакторов; но никто из них на самом деле не обсуждает, как вы можете это узнать.

Git «из коробки» проверяет вашVISUALпеременная среды. Если этот параметр не установлен, по умолчанию будетviна Unix-подобных платформах.

      export VISUAL=nano

выбиратьnanoвместо. (Этот редактор мне не особо нравится и я не рекомендую, хотя он был разработан специально для того, чтобы его было легко понять и изучить новичкам.) Очевидно, если вы предпочитаетеemacsclientилиsublimeилиcode, поставьте это после знака равенства. Никаких пробелов по обе стороны от знака равенства! Поместите это в файл запуска вашей оболочки (.bash_profileили.zprofileили.profileили т. д., в зависимости от того, какую оболочку вы используете), чтобы сделать этот параметр значением по умолчанию в новых экземплярах терминала.

Другой распространенный сценарий — если вы начали вводить многострочную строку в командной строке.

      bash$ git commit -m "here is my commit message
> oops, I forgot the final quote
> how do I fix this?
> haaaaaaalp

В этот момент вы можете нажать ctrl-Cчтобы сдаться и начать все сначала. >приглашение — это вторичное приглашение оболочки (его можно настроить, изменив значениеPS2, но большинство людей этого не делают), который отображается, когда вы находитесь в середине строки в кавычках. Если вы хотите зафиксировать уже введенное сообщение, просто добавьте недостающую последнюю одинарную или двойную кавычку:

      bash$ git commit -m 'small changes
> '
[main 0badd09]
 736 files changed, 136756 insertions(+)
bash$ _

Еще раз повторю: Git и ваш редактор — это два разных компонента (как и ваша ОС, ваша оболочка, ваш терминал, ваши языки программирования и т. д.). Когда вы только начинаете, вероятно, вам будет сложно понять, какая часть каким поведением управляет. В итоге вы получаете чрезвычайно гибкую, настраиваемую и, следовательно, чрезвычайно эффективную личную среду.

(В Windows Git обычно поставляется в комплекте с Bash, потому что в то время, когда они начали во всем разбираться, не было нормальной встроенной оболочки для Windows. В наши дни все немного по-другому, в той степени, в которой можно использовать «нормальную» и Windows. в одном и том же предложении без отрицаний или сложных уточнений, но, вероятно, не имеет смысла возвращаться и начинать все сначала с другой базовой линией.)

Я столкнулся с подобной проблемой на всякий случай, если это поможет вам.

Когда вы нажмете команду git commit --amend. Он открывает редактор по умолчанию. Теперь встал вопрос, как это закрыть. Я только что решил это, так что вот, если это поможет:

нажмите Ctrl+X

Нажмите Y, чтобы выбрать Да

Нажмите Ctrl+ M+ A(Эта команда сохраняет редактируемое сообщение коммита и выводит вас из редактора)

Пытаться git logкоманда для проверки ваших изменений

просто ctrl+x работал у меня. используйте ctrl+s для сохранения перед

Другие вопросы по тегам