У меня есть набор таких веток:
* 444ddd - somefeature3
/
* 333ccc - somefeature2
/
* 222bbb - somefeature1
/
------* 111aaa - master
Если бы я был в одной ветке (скажем, somefeature3
без somefeature2
или somefeature1
существующих), я мог бы обновить все моих коммитов, выполнив git rebase -i 111aaa
. Другими словами, я мог go от этого:
* 444ddd - somefeature3
/
* 333ccc
/
* 222bbb
/
------* 111aaa - master
... до этого:
* 444eee - somefeature3
/
* 333ddd
/
* 222ccc
/
------* 111aaa - master
В частности, commit 222bbb
был заменен на 222ccc
, 333ccc
был заменен на 333ddd
, а 444ddd
был заменен на 444eee
.
Однако, если мне нужны указатели веток somefeature2
и somefeature1
, они не будут обновляться в этом сценарии. Я бы сделал go из этого:
* 444ddd - somefeature3
/
* 333ccc - somefeature2
/
* 222bbb - somefeature1
/
------* 111aaa - master
... до этого:
* 444eee - somefeature3
/
* 333ddd * 333ccc - somefeature2
/ /
* 222ccc * 222bbb - somefeature1
/ /
------* --------------*
111aaa - master
Вместо этого я хочу, чтобы конечное состояние выглядело так, с указатели ветвей somefeature2
и somefeature1
обновляются вместе с somefeature3
:
* 444eee - somefeature3
/
* 333ddd - somefeature2
/
* 222ccc - somefeature1
/
------* 111aaa - master
Есть ли способ, чтобы Git автоматически обновлял указатели веток для somefeature1
и somefeature2
как часть git rebase -i
, создавая это конечное состояние?
(мета: это похоже на этот вопрос , но идет дальше, спрашивая, возможно ли, чтобы Git делал соответствующий foo автоматически)