首页 > 解决方案 > Git - 针对 master 重新设置两个分支

问题描述

我有三个分支:master、branchA 和 branchB。branchB 是从 branchA 分支出来的,最终会合并到 branchA 上。

                                    K---L---M---N---O branchB
                                   /
              E---F---G---H---I---J  branchA
             /
A---B---C---D  master

我需要从两个分支上的 master 获取更改,所以我运行了以下命令

branch-a> git fetch origin master
branch-a> git rebase -i origin/master
branch-a> git push -f 

这正确地针对 master 重新设置了 branchA,但我在使用 branchB 时遇到了问题。尝试将其重新定位到 branchA(现在已从 master 更改)并没有像我希望的那样工作。当应该有 0 时,我遇到了大量的合并冲突,所以我中止了 rebase。有点吃亏。

当我查看 branchB(其基本分支是 A)的 PR 时,它现在显示了 branchA 和 B 的提交历史,而它应该只是 B。

标签: git

解决方案


这就是我要做的:

git rebase --onto=branchA branchB~3 branchB

你可以像这样用一个单一的镜头完成整个事情:

git checkout branchB
git rebase master
git branch -f branchA branchb~3

推荐阅读