Введите сообщение фиксации, чтобы объяснить, почему это слияние необходимо, особенно если оно объединяет обновленный восходящий поток в ветвь темы

Я использую Git. Я вытащить из удаленного РЕПО и получил сообщение об ошибке:

"пожалуйста, введите сообщение, чтобы объяснить, почему это слияние необходимо, особенно если он объединяет обновленный upstream в тему отделение."

Я пытаюсь ввести сообщение и нажать клавишу Enter но ничего не происходит.

как сказать Git / terminal, что я закончил вводить свое сообщение?

Я использую терминал на ОС Х.

7 ответов


Это не сообщение об ошибке Git, это редактор, поскольку git использует редактор по умолчанию.

чтобы решить эту проблему:

  1. нажмите "i"
  2. напишите сообщение слияния
  3. нажмите "esc"
  4. написать ": wq"
  5. затем нажмите enter

на самом деле это не ошибка! Это означает, что вы должны ввести сообщение, чтобы отметить это слияние. Моя ОС-Ubuntu 14.04.Если вы используете ту же ОС, вам просто нужно сделать это следующим образом:

  1. введите сообщение

  2. CtrlCO

  3. введите имя файла (например, "Merge_feature01") и нажмите Enter

  4. CtrlX на выходе

теперь, если вы идете .git и вы найдете файл "Merge_feature01", это журнал слияния на самом деле.


tl; dr установите редактор на что-то более приятное, например Sublime или Atom

здесь хороший используется в значении редактора вы нравится или найти более удобный.

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

исправление не запоминать загадочные команды, как в принятом ответе, но настройка Git для использования редактора, который вам нравится и понимает! Это действительно так просто, как настройка любого из этих параметров

  1. в git config параметр core.editor (для каждого проекта или глобально)
  2. the VISUAL или EDITOR переменные среды (это работает для других программ)

я рассмотрю первый вариант для нескольких популярных редакторов, но GitHub имеет отличный руководство по этому для многих редакторов как хорошо.

использовать Atom

прямой из его документов введите это в терминале: git config --global core.editor "atom --wait"

Git обычно ждет завершения команды редактора, но поскольку Atom сразу же переходит к фоновому процессу, это не сработает, если вы не дадите ему .

использовать Sublime текст

по тем же причинам, что и в случае Atom, вам нужен специальный флаг, чтобы сигнализировать процессу, что он не должен вилять в фоновом режиме:

git config --global core.editor "subl -n -w"


Вобще,

CTRL + X

CTRL + C

он попросит вас сохранить файл, нажмите Y, то вы сделали.


вместо этого вы могли бы git CtrlZ и повторите попытку фиксации, но на этот раз добавьте "-m " с сообщением в кавычках после него, тогда он будет совершать без запроса с этой страницы.


здесь он просит вас о сообщении, которое связано с вашим слиянием для дальнейшего использования, почему вы сделали это слияние.

press "i"
on top above on #lines write your message
press "esc" button
write ":wq" (it will write in bottom automatically)
press enter

так как ваш локальный репозиторий немного коммитов вперед, git пытается объединить ваш удаленный с вашим локальным РЕПО. Это можно обработать с помощью merge, но в вашем случае, возможно, вы ищете rebase, т. е. добавить фиксацию в начало. Вы можете сделать это с помощью

git rebase или git pull --rebase

вот хорошая статья, объясняющая разницу между git pull & git pull --rebase.

https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/