Як вийти з злиття git із запитом на повідомлення про фіксацію?


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 попросить мене написати а MERGE_MSGдля цієї гілки.

На цьому зображенні видно, що я додав файл LICENSE masterта .gitignoreфайл у відділенні npm-init.

Оскільки masterміститься новий файл, ЛІЦЕНЗІЯ, і npm-initвін не знає про нього, Git попросив мене написати повідомлення про те, чому я повинен його об'єднати.

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


Я знаю, що це може бути важко зрозуміти (навіть для мене спочатку), але я сподіваюся, що зображення прояснить справи :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.