Git pull请求涉及分支的分支

时间:2016-05-19 19:16:40

标签: git branching-and-merging pull-request

假设我有一个回购分支,我的回购有三个分支:

  • branch_1
  • branch_1_a

branch_1已离开upstream/master,但branch_1_a已离开branch_1(即,它是通过git checkout -b branch_1_a branch_1创建的)

如果我想为branch_1中的更改创建拉取请求以及branch_1_a中的更改拉取请求,拉取请求如何在此方案中起作用。我是否首先要创建PR以将branch_1_a合并到branch_1?或者我为branch_1创建PR,将其合并到upstream/master,然后为branch_1_a创建PR?或者我可以为每个人同时掌握一个PR来进入掌握(虽然我不能在脑海中记住这是如何工作的)?

2 个答案:

答案 0 :(得分:2)

首先,git并不知道任何"拉取请求" (这是gitlab,github,bitbucket等服务的概念)。 相反,git知道合并

一个拉取请求只是告诉负责人你希望git merge与另一个人分支的方法。

第二,分支实际上只是你给一组补丁的标签。

现在,回答你的问题:是的,完全有可能合并分支和子分支。

在最简单的情况下,branch_1_a包含branch_1的全部内容(即branch_1中的所有提交也在branch_1_a中)。

如果您第一次合并 branch_1_a,那么合并branch_1将成为无操作(因为您的master现已包含branch_1

如果您第一次合并 branch_1,那么合并branch_1_a只会添加使branch_1branch_1_a不同的其他补丁。

答案 1 :(得分:0)

假设您引用的分支存在于某些托管的git服务(如github或bitbucket)上,您应该能够在本地克隆中执行branch_1_abranch_1的合并。 fork然后将branch_1推送到远程fork repo,之后您可以针对最初分叉的repo打开branch_1的PR。