Подтвердить что ты не робот

Как происходит конфликт слиянием git?

Я создал репозиторий git и добавил в него текстовый файл. Это 100% для обучения.

  • Я добавил "1" в текстовый файл и поручил ему освоить.

  • Создана новая ветка от мастера и добавлена ​​ "2".

  • Наконец, создана ветка от мастера и добавлена ​​ "3".

Не могли бы вы объяснить, как может возникнуть конфликт в этом или любом другом сценарии?

4b9b3361

Ответ 1

У вас возникнет конфликт, если вы слились:

  • branch2 до master (без конфликтов)
  • branch3 to master (конфликт):

Это потому, что:

  • Общим предком будет master (со второй линией пустой)
  • исходное содержимое branch3 (со второй строкой, включающей "3" )
  • конечный контент находится на последнем из master (со второй строкой, включающей "2", от слияния branch2 до master)

Git попросит вас выбрать, какой контент сохранить ( "3", "2" или оба).

Сначала выполните слияния после:

git config merge.conflictstyle diff3

См. "Исправить конфликты слияния в Git?".

Ответ 2

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

В этом случае ваши шаги 2 и 3 создают две ветки с конфликтующими изменениями.