Перенести коммиты из одной ветки в другую, а затем объединить их обратно в

У меня есть дерево:

       /--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 шагов.

8
задан Robin Green 19 October 2018 в 08:50
поделиться