Как разрешать конфликты в git
3 года назад
Andrey Moshkov
Ответы
Когда возникает конфликт git
сообщает нам об этом в выводе в терминал. Конфликты могут возникать при выполнении rebase, megre, revert и т.п. Рассмотрим всё на примере команды git merge
, когда мы вливаем какую-то ветку в main. В выводе git status
файлы, в которых возникли конфликты, помечаются как both modified
.
Если мы посмотрим внутрь файла, то увидим:
Тут мы видим разделители:
- <<<<<<< HEAD
- =======
-
new_branch_to_merge
Всё что до =======
это изменения в текущей ветке, а всё что после это входящие изменения (которые мы попытались влить из другой ветки). Соответственно, нам нужно оставить либо одно, либо другое. Это и называют "разрулить конфликт". Давайте оставим только новые изменения. Вот как будет выгядеть файл:
После этого файл нужно проиндексировать с помощью git add
и выполнить коммит. Таким образом зафиксировав в истории новые изменения.
3 года назад
Roman Ashikov