github блокирует Mac-терминал при использовании команды pull
Я нахожусь в процессе изучения GitHub на Mac (командной строки) и всякий раз, когда я делаю git pull origin master
я понял
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
".git/MERGE_MSG" 7L, 293C
Терминал, кажется, блокируется и не позволяет мне сразу что-либо вводить, затем, когда он, наконец, позволяет мне вводить текст, кажется, что он не распознает команды git.
Это ошибка в Git или я что-то упустил?
8 ответов
Ты в текстовом редакторе, vim! Это модальный текстовый редактор, поэтому вам необходимо:
- Нажмите i, чтобы войти в режим вставки.
- Теперь вы можете напечатать ваше сообщение, как если бы вы были в обычном (немодальном) текстовом редакторе.
- Нажмите esc, чтобы вернуться в командный режим.
- Затем введите
:w
затем нажмите Enter, чтобы сохранить. - в заключение
:q
затем нажмите Enter, чтобы выйти.
Редактор выглядит как vim согласно вашим описаниям. Эта консоль просто говорит вам написать какое-то сообщение для коммита, который вы хотите сделать, и это обязательно.
Просто введите
i
и вы пойдете в-- INTER --
режим, теперь вы можете написать свои комментарии.После того, как вы закончили писать, нажмите
esc
введите клавиатуру, и вы перейдете в командный режим. (см. на нижней части консоли)Теперь сохраните изменения, написав
:w
с последующим нажатиемenter
ключ
- Ура! Наконец вы вернулись к главной консоли.
Более простым является сначала ESC, а затем : x (строчные буквы).
Запустите эту команду
git config --global core.editor "gedit"
Добавьте ваше сообщение в этот файл и сохраните его. Вернись назад.
Я исправил эту проблему, выполнив следующие шаги
Удалить #MERGE_MSG#
rm .git/\#MERGE_MSG#
Удалить MERGE_HEAD
rm .git/MERGE_HEAD
Кроме того, я явно настроил редактор git на редактор, который мне знаком с vim (вы можете установить nano)
`git config --global core.editor "vim"`
Проблемы обычно возникают, когда мы что-то пишем неправильно.
Скорее эта команда вас интересует:
git commit -m "message"
если бы была проблема, это могло бы сказать что-то вроде
Your branch and 'origin/master' have diverged,
and have 2 and 1 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
и использовать:
git pull
что должно привести к:
Already up-to-date.
Тогда хорошо бы проверить:
git status
и попробуйте снова нажать:
git push
Ты можешь сделать git checkout --merge yourbranch
Трехстороннее слияние между текущей веткой, содержимым вашего рабочего дерева и новой веткой выполнено, и вы попадете в новую ветку.