假设我们有以下修订图:
A-B (master)
\
C (feature-a)
\
D (feature-b) [depends on feature a]
\
E (feature-c) [depends on feature b]
然后主分支被修改以跟随提交F
。 有没有简单的方法将E
重新基于F
(主分支),以使分支 feature-a
, feature-b
和 feature-c
最终如下:
A-B-F (master)
\
C' (feature-a)
\
D' (feature-b)
\
E' (feature-c)
在现实世界中,每个功能之间显然有多个补丁,因此在重新基于历史记录的情况下手动重新连接分支是一项繁琐且容易出错的工作。我知道我可以使用简单的 git checkout feature-c && git rebase master
将 E
重新基于 E'
,但这会使分支 feature-a
和 feature-b
指向提交 C
和 D
而不是 C'
和 D'
。重新基于应该具有移动所有分支所需的所有信息,对吗?