Git从另一个分支创建分支。是否同时发送拉取请求? 我创建了一个分支,并针对这些更改发送了一个请求,我们称之为分支a 然后,当我还在我的分支a上时,我创建了一个分支B。在一些更改之后,我想为这些更改发送一个拉请求,并在分支B的最新提交中看到了分支a的提交(我发送了拉请求的那一个)

Git从另一个分支创建分支。是否同时发送拉取请求? 我创建了一个分支,并针对这些更改发送了一个请求,我们称之为分支a 然后,当我还在我的分支a上时,我创建了一个分支B。在一些更改之后,我想为这些更改发送一个拉请求,并在分支B的最新提交中看到了分支a的提交(我发送了拉请求的那一个),git,bitbucket,branch,rebase,pull-request,Git,Bitbucket,Branch,Rebase,Pull Request,我该如何处理 我也可以向分支机构B发送拉取请求吗?会有副作用吗 我可以改为在最后一次主合并时重新设置提交的基础,并将提交重命名为分支B上更改的名称吗?这是否也会删除我发送拉取请求的分支A上的提交 如果在接受拉请求之前我需要对分支A进行其他更改,我仍然可以在不影响分支B的情况下重新设置分支A提交的基础/挤压提交吗 我想,在创建另一个分支以开发新功能之前,我通常应该确保我再次使用master,这样就不会再出现这种情况了?我是否也可以发送分支B的拉取请求?它会有副作用吗? 让我们快速画一幅图 X

我该如何处理

  • 我也可以向分支机构B发送拉取请求吗?会有副作用吗
  • 我可以改为在最后一次主合并时重新设置提交的基础,并将提交重命名为分支B上更改的名称吗?这是否也会删除我发送拉取请求的分支A上的提交
  • 如果在接受拉请求之前我需要对分支A进行其他更改,我仍然可以在不影响分支B的情况下重新设置分支A提交的基础/挤压提交吗

我想,在创建另一个分支以开发新功能之前,我通常应该确保我再次使用master,这样就不会再出现这种情况了?

我是否也可以发送分支B的拉取请求?它会有副作用吗?

让我们快速画一幅图

X --- X --- X --- X <--(master)
       \
        A1 -- A2 <--(A)
          \
           B1 -- B2 -- B3 <--(B)
应该给你

                      B1' -- B2' -- B3' <--(B)
                    /
X --- X --- X --- X <--(master)
       \
        A1 -- A2 <--(A)
         \
          B1 --- B2 --- B3

B1'--B2'--B3'最后,我找到了另一种我非常喜欢的方式,那就是采摘樱桃

  • 对来自主(A)的分支执行拉取请求
  • 获取不基于主节点(B)的分支的提交哈希

  • (可选)如果要保留相同的名称,请删除旧分支(B):

    git branch -D B
    
  • 从主节点创建新分支:

    git checkout -b B
    
  • 选择更改(将更改合并到新分支中):

  • 如果存在冲突,则合并,然后结束樱桃拾取:

    git cherry-pick --continue
    
  • 基于主节点正确发送此新分支的请求
  • 我喜欢的是主分支保持完美的形状(非常干净),而且操作非常简单。我们还可以不必担心地挤压分支中的提交

    git checkout -b B
    
    git cherry-pick HASH_OF_B (noted in step 2)
    
    git cherry-pick --continue