我有一组如下分支:
* 444ddd - somefeature3
/
* 333ccc - somefeature2
/
* 222bbb - somefeature1
/
------* 111aaa - master
如果我在一个分支上(假设somefeature3没有somefeature2或somefeature1存在),我可以通过git rebase -i 111aaa. 换句话说,我可以从这个出发:
* 444ddd - somefeature3
/
* 333ccc
/
* 222bbb
/
------* 111aaa - master
...对此:
* 444eee - somefeature3
/
* 333ddd
/
* 222ccc
/
------* 111aaa - master
特别是,commit222bbb被替换为222ccc,333ccc被替换为333ddd,444ddd被替换为444eee。
但是,如果我关心分支指针somefeature2和somefeature1,它们在这种情况下不会得到更新。我会从这个开始:
* 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)