Слияние и конфликты: что происходит и как решать

Конфликт в Git возникает, когда две ветки изменили один и тот же участок файла, и Git не может автоматически выбрать правильный вариант.

Краткий ответ

Конфликт в Git возникает, когда две ветки изменили один и тот же участок файла, и Git не может автоматически выбрать правильный вариант. Конфликт - не катастрофа, а обычная ситуация совместной работы.

Конфликт в Git возникает, когда две ветки изменили один и тот же участок файла, и Git не может автоматически выбрать правильный вариант. Конфликт - не катастрофа, а обычная ситуация совместной работы.

Слияние выполняют командой git merge или через pull request на GitHub. Если Git может объединить изменения сам, он делает это автоматически. Если нет - просит человека принять решение.

Как выглядит конфликт

<<<<<<< HEAD
Текст из текущей ветки
=======
Текст из ветки, которую вливают
>>>>>>> feature/example

Эти маркеры нужно удалить, оставив итоговый правильный вариант. Иногда это одна из сторон, иногда комбинация обеих.

Алгоритм решения

1. Запустите git status и посмотрите конфликтующие файлы. 2. Откройте каждый файл и найдите маркеры конфликта. 3. Выберите итоговый текст или код. 4. Удалите маркеры <<<<<<<, =======, >>>>>>>. 5. Проверьте проект. 6. Добавьте исправленные файлы через git add. 7. Завершите merge-коммит.

git status
git add README.md
git commit

Как уменьшить число конфликтов

Делайте небольшие ветки, чаще обновляйтесь от основной ветки, не смешивайте форматирование и логику в одном коммите, не правьте большие файлы без необходимости.

Конфликты учат важному навыку: читать чужие и свои изменения как единое решение, а не просто выбирать “мою” или “их” версию.

Что важно запомнить

https://yadro-code.ru/lessons/without-university/command-line-git-basics/command-line-git-11