Как выйти из git merge с запросом на коммит?


22

Я использую Git. Я сделал нормальное слияние, но он продолжает спрашивать:

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.

И даже если я что-то напишу, я не могу выйти отсюда. Я не могу найти документы, объясняющие это. Как я должен сделать?


2
нажмите ESC: wq, это синтаксис vim;)
демонизировать

Ответы:


24

Это зависит от того, какой редактор вы используете.

Если вы можете использовать ESCи :wqили ESCи Shift+ zz. Обе команды сохранить файл и выйти.

Вы также можете проверить ~/.gitconfigредактор, в моем случае ( cat ~/.gitconfig):

[user]
    name = somename
    email = somemail@gmail.com
[core]
    editor = vim
    excludesfile = /home/mypath/.gitignore_global
[color]
  ui = auto
  # other settings here

0

Я знаю, что это может быть поздно, однако я заметил, что это происходит только тогда, когда я делаю коммит в ветку, которая немного обновляется, чем ветка, которую я объединяю.

Изображение, чтобы помочь с пониманием

Оказывается, что если я изменю ветку (то есть добавлю больше файлов в ветку) и попытаюсь слить в нее другую ветку, Git попросит меня написать a MERGE_MSGдля этой ветви.

На этом изображении показано, что я добавил файл LICENSE в файл masterи .gitignoreфайл в филиале npm-init.

Поскольку он masterсодержит новый файл LICENSE и npm-initне знает о нем, Git попросил меня написать сообщение о том, почему я должен слить его.

Точно так же я слился add-eslintв add-dev прежде чем я слил изменения в install-deps.


Я знаю, что это может быть трудно понять (даже для меня на первый взгляд), но я надеюсь, что изображение проясняет ситуацию :)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.