Введите сообщение фиксации, чтобы объяснить, почему это слияние необходимо, особенно если оно объединяет обновленный восходящий поток в ветвь темы
Я использую Git. Я вытащить из удаленного РЕПО и получил сообщение об ошибке:
"пожалуйста, введите сообщение, чтобы объяснить, почему это слияние необходимо, особенно если он объединяет обновленный upstream в тему отделение."
Я пытаюсь ввести сообщение и нажать клавишу Enter но ничего не происходит.
как сказать Git / terminal, что я закончил вводить свое сообщение?
Я использую терминал на ОС Х.
7 ответов
Это не сообщение об ошибке Git, это редактор, поскольку git использует редактор по умолчанию.
чтобы решить эту проблему:
- нажмите "i"
- напишите сообщение слияния
- нажмите "esc"
- написать ": wq"
- затем нажмите enter
на самом деле это не ошибка! Это означает, что вы должны ввести сообщение, чтобы отметить это слияние. Моя ОС-Ubuntu 14.04.Если вы используете ту же ОС, вам просто нужно сделать это следующим образом:
введите сообщение
CtrlCO
введите имя файла (например, "Merge_feature01") и нажмите Enter
CtrlX на выходе
теперь, если вы идете .git и вы найдете файл "Merge_feature01", это журнал слияния на самом деле.
tl; dr установите редактор на что-то более приятное, например Sublime или Atom
здесь хороший используется в значении редактора вы нравится или найти более удобный.
основная проблема заключается в том, что Git по умолчанию использует редактор, который слишком неинтуитивен для большинства людей: Vim. Теперь, не поймите меня неправильно, я люблю Vim, и в то время как вы могли бы отложить некоторое время (например, месяц) чтобы узнать Vim и попытаться понять, почему некоторые люди думаю, Vim является величайшим редактором в существовании, есть более быстрый способ решить эту проблему: -)
исправление не запоминать загадочные команды, как в принятом ответе, но настройка Git для использования редактора, который вам нравится и понимает! Это действительно так просто, как настройка любого из этих параметров
- в git config параметр
core.editor
(для каждого проекта или глобально) - the
VISUAL
илиEDITOR
переменные среды (это работает для других программ)
я рассмотрю первый вариант для нескольких популярных редакторов, но GitHub имеет отличный руководство по этому для многих редакторов как хорошо.
использовать Atom
прямой из его документов введите это в терминале:
git config --global core.editor "atom --wait"
Git обычно ждет завершения команды редактора, но поскольку Atom сразу же переходит к фоновому процессу, это не сработает, если вы не дадите ему .
использовать Sublime текст
по тем же причинам, что и в случае Atom, вам нужен специальный флаг, чтобы сигнализировать процессу, что он не должен вилять в фоновом режиме:
git config --global core.editor "subl -n -w"
вместо этого вы могли бы 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/