如何做&#34;反向&#34; `git rebase <some-branch>`?</some-branch>

时间:2014-08-29 18:12:31

标签: git git-rebase

在下面的历史记录中,假设提交BE完全独立于提交FI

                       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-1master是分支机构。 F'中的素数表示 commit F' 包含与提交 F完全相同的更改。同样适用于G'H'I'

(从上面显示的第二个历史开始,所需的操作实际上与git rebase br-1的{​​{1}}相反。)

2 个答案:

答案 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