更改分支的父分支

37

有以下分支结构:

                       master
                     /       \
                BranchA      BranchB

但它应该是:

                 master
                  /           
            BranchA        
               /
         BranchB

有人可以建议如何将BranchB重新挂在BranchA下面吗?

3个回答

46

您想使用变基。在检出BranchB的情况下,执行以下操作:

git rebase BranchA

1
有没有办法使用 Bitbucket 来做到这一点? - Akash
@akash,你可以下载Git for Windows并在bash控制台中进入仓库,然后运行所需的命令(假设你的BitBucket仓库是Git)。 - Aakash
仅为娱乐,回复此答案的每个人都是Akash。 - Akash Patel

7
git checkout branchB; git rebase branchA;

我会为您完成这个操作。请记住,如果此操作已经被推到其他地方,您将破坏历史记录。


1

我建议使用git rebase -i(交互模式)来编辑整个历史记录,包括你想要作为新分支rebase起点的提交、提交信息等。

在您的情况下,如果您期望的情况是:

             master
              /           
        BranchA        
           /
     BranchB

但是在branchA上,您已经有一些提交记录:

             master
              /           
        BranchA
           |
        commit A1
           |
        commit A2

你可能希望选择A1作为branchB的起点,而不是A2(最新的,其中A的HEAD位于此处),然后git rebase -i可以帮助你。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接