Git-针对主对象重新设置两个分支

Git-针对主对象重新设置两个分支,git,Git,我有三个分支:大师、布兰卡和布兰卡。branchB是branchA的分支,最终将合并到branchA K---L---M---N---O branchB / E---F---G---H---I---J branchA / A---B---C---D master 我需要在两个分支上从master获

我有三个分支:大师、布兰卡和布兰卡。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 
这正确地重新设定了branchA与master的关系,但我在branchB上遇到了麻烦。试图将其重新设置到branchA(它现在已经从master更改了)并不像我希望的那样工作。我得到了大量的合并冲突时,应该有0,所以我中止了再基地。有点不知所措


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

我会这样做:

git rebase --onto=branchA branchB~3 branchB
你可以用这样的一种单枪来完成整个过程:

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

“3”应该是branchB中的实际提交次数吗?编辑后的帖子反映了实际提交次数并澄清了提交历史。@SamPinheiro
branchB~3
的意思是在您的图表中
G
,直到您通过更改图表使答案无效。我不想破坏任何东西,所以我只需要一个精确的答案。上一个示例中,branchA和B的提交次数相同,因此我想确保提交次数正确(以及我需要运行命令的位置),现在是
branchB~5