git更改父分支

时间:2019-12-12 08:46:09

标签: git

简短的故事是: 我已经从 Develop 分支中创建了 A 分支 然后我从分支 A

创建了分支 B

我们稍后决定在下一个版本中需要包含分支B,并且不包含分支

我打算做的是:

  1. 删除我对B的第一个请求
  2. 从Develop分支创建一个新的分支B1
  3. 樱桃选择我需要的提交
  4. 然后删除旧的B分支
  5. 将B1重命名为B
  6. 为新的分支B创建拉取请求

所以我在想是否可以将B分支的父级更改为 Develop 而不是 A 以避免这种混乱

2 个答案:

答案 0 :(得分:2)

假设您当前的分支图如下所示:

develop: A -- B
               \
branchA:        C -- D -- E
                           \
branchB:                    F -- G

您希望B分支看起来像这样:

develop: A -- B
               \
branchB:        F -- G

可以在此处使用基准重设:

git rebase --onto B E

用简单的英语术语来说,以上命令说将父级为E的提交(即F提交(以及B分支的开始))放置到新的提交基础上B分支中的develop

答案 1 :(得分:1)

您正在寻找git rebase --onto,因为您想要做的基本上只是将branch B的提交重新归类到develop

the official git documentation中有一个很好的关于变基的描述。有关类似您的示例,请参见更多有趣的基础部分。

您的示例将通过以下方式解决 git rebase --onto develop branchA branchB

另请参阅git rebase documentation