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

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

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

Я пытаюсь напечатать сообщение и нажать Enter, но ничего не происходит.

Как я могу сказать Git/Terminal, что я закончил вводить свое сообщение?

Я использую терминал на OS X.

Ответ 1

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

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

  • нажмите "i"
  • напишите сообщение о слиянии
  • нажмите "esc"
  • write ": wq"
  • затем нажмите enter

Ответ 2

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

  1. Введите какое-нибудь сообщение

  2. Ctrl C O

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

  4. Ctrl X для выхода

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

Ответ 3

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

Здесь nice используется в смысле редактора, который вам нравится, или более удобен для пользователя.

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

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

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

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

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

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

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

Использовать Sublime Text

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

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

Ответ 4

Просто делать,

CTRL + X

CTRL + C

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

Ответ 5

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

Ответ 6

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

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

Ответ 7

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

git rebase или git pull --rebase

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

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

Ответ 8

если вышеупомянутые реализации не работают, попробуйте:

нажмите CTRL + c

нажмите CTRL + c

написать :wq

или следуйте инструкциям в командной строке