Это не сбой . Это тоже не успех. Это конфликт , сообщающий, что Git не удалось решить проблему с обратным применением.
Конфликт произошел из-за того, что вы коснулись соседних линий. Разница между вашей первой и второй версией гласит «добавьте слово the
в конце файла после слова sonic
». Чтобы отменить это, Git потребуется удалить слово the
в конце файла после слова sonic
, но файл на этом не заканчивается. Теперь он содержит слово hedgehog
.
Фактически, Git не знает, удалять ли последнюю строку (hedgehog
) или строку, содержащую слово the
. * 1022. * 1 Вы можете подумать, что это очевидно, но Git просто не знает как. Таким образом, он останавливается конфликтом слияния и тремя версиями файла, доступными вам в index или области подготовки , плюс четвертого * Версия 1031 * в вашем рабочем дереве, помеченная маркерами конфликта. Теперь ваша задача - создать правильную версию конфликтующего файла.
Существует множество способов сделать это. Я склоняюсь к тому, чтобы открыть файл рабочего дерева в моем редакторе, поискать строки <<<<<<<
и просмотреть строки, чтобы понять, что правильно. (Я также установил merge.conflictStyle
на diff3
, чтобы получить дополнительный раздел в зоне конфликта, показывая мне, что было в base версии файла, а также то, что было в двух конфликтующих версиях В этом случае это все равно не очень помогает.)
Отредактировав копию рабочего дерева файла до «правильного ответа» - что бы это ни было - я выписываю его и выхожу из редактора и запустите git add
для конфликтующего файла. Теперь конфликт разрешен, используя то, что я в него вложил, независимо от того, что было в нем раньше.
Если это последний конфликт - каким он будет в этом случае - git revert --continue
возобновит возврат и go для любых других коммитов, которые вы просили отменить, если они были. Поскольку больше не нужно ничего делать, это завершило бы sh возврат, и вы бы все сделали.
1 Технически, Git пытается объединить два изменения , а не просто удалить одно изменение. Один из них говорит удалить the
, а другой говорит добавить hedgehog
. И go в конце файла, и Git не могут найти правильный ответ.
Ошибка возврата HEAD^^
аналогична, но на этот раз строки, где Git это удалить the
около строк, где Git видит добавление sonic
. Проблема исчезнет, если будет достаточно разрыва между различными линиями.