Почему при изменении другой строки возникает конфликт слияния git?
Я изменил разные строки в разных ветках, но эти изменения происходят git merge
конфликт. Я прочитал пост, но думаю, что изменения происходят в совершенно разных строках.
Вот мои тестовые коды.
филиал
Hello, my first conflict.
Second line.a # add a single character 'a' at line 2
Third line.
филиал-а
Hello, my first conflict.
Second line.
Third line.a # add a single character 'a' at line 3
И я выполнил следующий код, он говорит о конфликте слияния git.
$ git checkout branch-base
$ git merge branch-a
Вот мой файл конфликта.
Hello, my first conflict.
<<<<<<< HEAD
Second line.a
Third line.
=======
Second line.
Third line.a
>>>>>>> branch-a
Почему происходит этот конфликт? Думаю, я внес изменения в совершенно разные строки (хотя они и соседние).
1 ответ
Должна быть хотя бы одна разделительная линия, которая остается неизменной, чтобы их можно было рассматривать отдельно и не создавать конфликта. Учитывая, что они не разделены линией, которая остается неизменной во всех трех ревизиях (две подсказки и общий предок), они рассматриваются как единый блок. Одна ветвь изменяет этот блок в одну сторону, другая - в другую... Итак, конфликт.