У меня есть дерево:
/--b1---b2 <-- topic b
/
a1---a2 <-- topic a
где «b» зависит от «a». Затем я понимаю, что мне нужно внести некоторые изменения, связанные с темой «a», чтобы продолжить с «b», но я хотел бы сделать их на «b» как нормальный курс разработки «b»:
/--b1---b2---a3---a4---b3---b4---a5---b5 <-- topic b
/
a1---a2 <-- topic a
Затем , когда то, что я хочу выполнить на 'b', сделано, я бы хотел, чтобы мое дерево выглядело так:
/--b1---b2--------m---b3'---b4'---b5' <-- topic b
/ /
a1---a2---a3'---a4'---a5' <-- topic a
как если бы я действительно сделал все изменения на 'a', затем слил их на 'b' и затем продолжил на «b».
Я знаю, что могу сделать это вручную, выполнив:
1- rebase / cherry-pick 'a' совершает переход от ветки 'b' к 'a'
2- создает временную ветвь ' b-tmp 'на' b '.
3- сбросить ветвь "b" на "b2".
4- объединить "a" с "b".
5- rebase / cherry-pick 'b' фиксирует 'b-tmp' на 'b'.
6- удалить ветку 'b-tmp'.
Я могу создать сценарий для этого, я просто хотел бы знать, есть ли лучшие способы / идеи для этого, кроме этих 6 шагов.