← Все вопросы

Появился merge-конфликт со стрелками <<<<<<< и =======, что это и как читать?

Задан 10 месяцев назад669 просмотров4 ответа
13

Сделал merge, git ругнулся на конфликт. Открываю файл — а там какая-то каша:

<<<<<<< HEAD
print("привет")
=======
print("hello")
>>>>>>> feature

Что означают эти строки и что мне с этим делать?

4 ответа

21
✓ Принятый ответ — помог автору

Это маркеры конфликта. Расшифровка:

  • между <<<<<<< HEAD и ======= — твоя версия (та ветка, в которую вливаешь);
  • между ======= и >>>>>>> feature — версия из вливаемой ветки.

Твоя задача — вручную оставить нужный код (один вариант, другой, или оба вперемешку), удалить все три строки-маркера, сохранить файл, потом git add файл и git commit. Git сам конфликт не решит — он показывает оба варианта и ждёт твоего решения.

Алена Трофлянина Главное не забыть стереть сами `<<<`, `===`, `>>>` — иначе они уедут в коммит как обычный текст. · 10 месяцев назад
8

Сверху — твоё (HEAD), снизу — чужое. Выбираешь правильное, маркеры стираешь, git add + git commit.

6

Если запутался и хочешь всё отменить и начать заново — git merge --abort вернёт состояние до merge.

3

Сверху твоё, снизу чужое.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект