Ответ 1
Хорошо, наконец, я нашел ответ: git commit -m "Test"
, по-видимому, зафиксировал это. Результатом стала пустая фиксация без каких-либо изменений. Даже Github показывает пустую фиксацию, но она работает.
Всякий раз, когда я пытаюсь нажать Git, я получаю следующее:
You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.
Запуск git status
Я получаю:
# On branch master
nothing to commit (working directory clean)
Или запустив git ls-files -u
, я ничего не получаю.
Запуск git add .
и повторная попытка не имеют никакого значения.
Что?
Хорошо, наконец, я нашел ответ: git commit -m "Test"
, по-видимому, зафиксировал это. Результатом стала пустая фиксация без каких-либо изменений. Даже Github показывает пустую фиксацию, но она работает.
Вы закончили с пустым слиянием (два родителя) или просто с пустым фиксацией? В последнем случае вы могли бы удалить .git/MERGE_HEAD
.
Обновление: Вместо того, чтобы вручную удалять MERGE_HEAD
, вы также можете использовать git merge --abort
(от git 1.7.4) или git reset --merge
(от git 1.6.2).
Также стоит упомянуть, что, по крайней мере, из git 1.8.3 (возможно, раньше?), вы должны увидеть сообщение status
, подобное этому, если выполняется фактическое слияние и его необходимо зафиксировать (если вы указали --no-commit
, например):
# On branch master
# All conflicts fixed but you are still merging.
# (use "git commit" to conclude merge)
#
nothing to commit, working directory clean
Если вы этого не видите и по-прежнему получаете предупреждение MERGE_HEAD
, что-то перепутано, и вы должны, вероятно, просто --abort
вернуться в чистое состояние.
Дополнительная информация из комментариев
Во время слияния git создается файл MERGE_HEAD в корне папки .git(рядом с HEAD, ORIG_HEAD, вероятно, FETCH_HEAD и т.д.) для отслеживания информации о текущем слиянии (в частности, SHA (s) фиксации (ов), которые сливаются в текущую HEAD). Если вы удалите это, git больше не будет думать о слиянии. Очевидно, что если слияние действительно выполняется, вы не захотите удалить этот файл.
Используйте команду git reset
без параметров. Документы