Git: повторное слияние или перебазирование поверх нескольких зависимых веток
Я часто нахожусь в разработке ветви функций, которая зависит от двух или более (взаимно не связанных) ветвей, разветвленных от одного и того же коммита. Мое дерево коммитов обычно выглядит так:
o -- o master
|\
| o -- B feature-1
| \
| o -- A my-branch
\ /
o -- C feature-2
или же
o -- o master
|\
| o -- B feature-1
|\
| o -- B -- o -- C -- A my-branch
\
o -- C feature-2
Теперь предположим, что в каждой зависимой ветви происходит больше коммитов, причем B'
а также C'
соответственно. Если я сделаю слияние по умолчанию сейчас, я получу что-то вроде:
o -- o master
|\
| o -- B -- o -- B' feature-1
| \ \
| o -- A -- o my-branch
\ / /
o -- C -- o -- C' feature-2
Тем не менее, я хотел бы что-то вроде:
o -- o master
|\
| o -- B -- o -- B' feature-1
| \
| o -- A my-branch
\ /
o -- C -- o -- C' feature-2
или же
o -- o master
|\
| o -- B feature-1
|\
| o -- o -- B -- o -- B' -- o -- C -- o -- C' -- A my-branch
\
o -- C feature-2
Я ищу быстрый и не интерактивный способ (кроме разрешения конфликтов) для достижения этого, поскольку я сталкиваюсь с этим сценарием на регулярной основе.
Что было бы наименее болезненным / наиболее удобным способом?