Ответ 1
Это не сообщение об ошибке Git, его редактор как Git использует ваш редактор по умолчанию.
Чтобы решить эту проблему:
- нажмите "i"
- напишите сообщение о слиянии
- нажмите "esc"
- write ": wq"
- затем нажмите enter
Я использую Git. Я сделал вытащить из удаленного репо и получил сообщение об ошибке:
msgstr "пожалуйста, введите сообщение коммита, чтобы объяснить, почему это объединение необходимо, особенно если оно объединяет обновленный апстрим в ветку темы."
Я пытаюсь напечатать сообщение и нажать Enter, но ничего не происходит.
Как я могу сказать Git/Terminal, что я закончил вводить свое сообщение?
Я использую терминал на OS X.
Это не сообщение об ошибке Git, его редактор как Git использует ваш редактор по умолчанию.
Чтобы решить эту проблему:
На самом деле это не ошибка! Это означает, что вы должны ввести какое-то сообщение, чтобы отметить это слияние. Моя ОС - Ubuntu 14.04. Если вы используете одну и ту же ОС, вам нужно сделать это следующим образом:
Введите какое-нибудь сообщение
Ctrl C O
Введите имя файла (например, "Merge_feature01") и нажмите Enter
Ctrl X для выхода
Теперь, если вы зайдете в .git и найдете файл "Merge_feature01", то это журнал слияния на самом деле.
Здесь nice используется в смысле редактора, который вам нравится, или более удобен для пользователя.
Основная проблема заключается в том, что Git по умолчанию использует редактор, который не слишком понятен для большинства людей: Vim. Теперь, не поймите меня неправильно, я люблю Vim, и хотя вы можете выделить некоторое время (например, месяц), чтобы изучить Vim и попытаться понять, почему некоторые люди думают, что Vim является величайшим редактором из существующих, есть более быстрый способ исправить эту проблему :-)
Исправление заключается не в запоминании загадочных команд, как в принятом ответе, а в настройке Git для использования редактора, который вам нравится и понятен! Это действительно так просто, как настроить любой из этих параметров
core.editor
(для проекта или глобально)EDITOR
окружения VISUAL
или EDITOR
(это работает и для других программ)Я расскажу о первом варианте для нескольких популярных редакторов, но у GitHub есть отличное руководство по этому вопросу и для многих редакторов.
Прямо из документации введите это в терминале: git config --global core.editor "atom --wait"
Обычно Git ожидает завершения команды редактора, но, поскольку Atom немедленно --wait
в фоновый процесс, это не сработает, если вы не --wait
опцию --wait
.
По тем же причинам, что и в случае с Atom, вам нужен специальный флаг, сигнализирующий процессу, что он не должен переходить в фоновый режим:
git config --global core.editor "subl -n -w"
Просто делать,
CTRL + X
CTRL + C
Он попросит вас сохранить файл, нажмите Y, и все готово.
Вместо этого вы можете нажать Ctrl Z и повторить коммит, но на этот раз добавьте "-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 пытается объединить ваш удаленный репозиторий с вашим локальным репозиторием. Это может быть выполнено с помощью слияния, но в вашем случае, возможно, вы ищете rebase, т.е. добавьте свой коммит в начало. Вы можете сделать это с
git rebase
или git pull --rebase
Вот хорошая статья, объясняющая разницу между git pull
и git pull --rebase
.
https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/
если вышеупомянутые реализации не работают, попробуйте:
нажмите CTRL + c
нажмите CTRL + c
написать :wq
или следуйте инструкциям в командной строке