Конфликтный запрос слияния в битбуксете - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть три ветви Мастер, Тест1, Тест2 (Тест 1 и Тест 2, созданные из Мастера)

Теперь в ветке Test1 я внес некоторые изменения в один файл (например, обновив код метода и подпись), а затем создал запрос на извлечение для слияния его с Master.

Я вижу, что конфликты не отображаются, и они успешно объединены.

Теперь снова в ветке Test2, я внес некоторые изменения в один файл (например, обновление кода метода и подписи), а затем создал запрос на извлечение, чтобы объединить его с Master. На этот раз я получил ошибку конфликта слияния.

У меня вопрос: почему в первом сценарии не возникло конфликта слияния при слиянии кода Test1 с Master.

По какому точному сценарию у нас будут конфликты слияний?

1 Ответ

0 голосов
/ 07 сентября 2018

Конфликт возникает, когда обе ветви отошли от последнего общего предка между двумя частями слияния (давайте проигнорируем случай слияния осьминога (более 2 веток) в этом контексте).

Во время вашего первого PR изменилась только одна сторона, та, что в Test1. Простое слияние.

Однако, когда вы делаете свой второй PR, мастер уже изменил состояние, в котором он был при создании Test2, поэтому обе части считаются новыми для последнего общего предка.

Чтобы избежать этого конфликта на втором PR, вы могли бы (например) объединить master в Test2 перед созданием PR. Тогда у вас будет обновленный мастер, и PR найдет изменения только на стороне Test2.

Также, добро пожаловать в Stack Overflow o /

...