Допустим, у меня есть ветвь, основанная на master, которая заканчивается коммитом слияния:
--A---C<master]---D---E---F<my-feature]
\ /
B
Добавление коммита X
между D
и E
с интерактивным перебазированием просто - я запускаю
git rebase -i master
, установите коммит D
для операции edit
, после перебазирования D
перебазирование прекращается.Я просто создаю новый коммит в тот момент, а затем продолжаю ребаз.Ветка теперь выглядит как
...C<master]---D---X---E'---F'<my_freature]
.
Теперь я хочу добавить коммит между C
и D
.Желаемый результат:
C<master]---X---D'---E'---F'<my_freature]
Я пытался
git rebase -i master~
, где я хотел установить коммит слияния C
в edit
, но интерактивная перебазировка как-то игнорирует коммит слияния C
и предлагает мне только цепочку A--B--D--E
, поэтому перебазировка приводит к потере коммит слияния C
.
Есть ли простой способ добавить коммит кветвь с интерактивной перебазировкой, как это?
Обратите внимание, что я могу придумать немного более сложное решение, такое как создание новой ветки tmp
на master
, фиксация X
, затем перебазировкаmy-feature
на tmp
, мне просто любопытно, есть ли простой и прямой способ с интерактивной перебазировкой.