Слияние и конфликты: что происходит и как решать
Конфликт в Git возникает, когда две ветки изменили один и тот же участок файла, и Git не может автоматически выбрать правильный вариант. Конфликт - не катастрофа, а обычная ситуация совместной работы.
Слияние выполняют командой git merge или через pull request на GitHub. Если Git может объединить изменения сам, он делает это автоматически. Если нет - просит человека принять решение.
Как выглядит конфликт
<<<<<<< HEAD
Текст из текущей ветки
=======
Текст из ветки, которую вливают
>>>>>>> feature/exampleЭти маркеры нужно удалить, оставив итоговый правильный вариант. Иногда это одна из сторон, иногда комбинация обеих.
Алгоритм решения
- Запустите
git statusи посмотрите конфликтующие файлы. - Откройте каждый файл и найдите маркеры конфликта.
- Выберите итоговый текст или код.
- Удалите маркеры
<<<<<<<,=======,>>>>>>>. - Проверьте проект.
- Добавьте исправленные файлы через
git add. - Завершите merge-коммит.
git status
git add README.md
git commitКак уменьшить число конфликтов
Делайте небольшие ветки, чаще обновляйтесь от основной ветки, не смешивайте форматирование и логику в одном коммите, не правьте большие файлы без необходимости.
Конфликты учат важному навыку: читать чужие и свои изменения как единое решение, а не просто выбирать “мою” или “их” версию.