在下面的历史记录中,假设提交B
到E
完全独立于提交F
到I
。
br-1 master
⋯ ---A---B---C---D---E---F---G---H---I
我如何得到这样的历史记录:
master
⋯ ---A---F'--G'--H'--I'
\
`-B---C---D---E
br-1
br-1
和master
是分支机构。 F'
中的素数表示 commit F'
包含与提交 F
完全相同的更改。同样适用于G'
,H'
和I'
。
(从上面显示的第二个历史开始,所需的操作实际上与git rebase br-1
的{{1}}相反。)
答案 0 :(得分:4)
两个选项。
1)
git checkout master
git rebase --interactive A
删除B到E的行
2)
git checkout master
git rebase --onto A E
答案 1 :(得分:2)
签出master
:
git rebase --onto A br-1 master