Допустим, у меня есть некоторый заказанный код, но заказ не является техническим требованием.
apple
kiwi
strawberry
И затем у меня есть две темы, которые я хочу объединить, чьи различия выглядят так:
TOPIC BRANCH: orange
kiwi
+ orange
strawberry
А также
TOPIC BRANCH: pear
kiwi
+ pear
strawberry
Есть ли способ автоматически разрешить эти два патча? Мне кажется, что это конфликт слияния, поскольку они борются за одну и ту же новую линию. Решение, которое я нашел, состоит в том, чтобы переупорядочить одно из изменений, поскольку порядок сортировки является лишь мягким требованием (где фрукты на самом деле являются определениями функций).
TOPIC BRANCH: pear'
apple
+ pear
kiwi
Так что теперь мы можем объединить orange
и pear'
вместе, чтобы сформировать:
_ apple
p pear
_ kiwi
o orange
_ strawberry
Существуют ли другие способы решения этой проблемы, позволяющие сохранить порядок? Я также подумал о том, что pear
должен быть нисходящий от orange
, так что orange
всегда получает приоритет и больше не будет конфликта слияния. Но это ложная зависимость, поскольку orange
и pear
- две отдельные ветви функций.
Один может быть включен в магистраль раньше другого, но это не относится к ветвям интеграции.
Редактировать: Меня осенило два куска, которые можно сохранить (возможно, дополнения?), Может быть две стратегии слияния под названием «я первый» и «ты первый», так что неоднозначный порядок может быть решен без интерактивно между двумя ветвями.