Git 涉及分支分支的拉取请求

Git pull requests involving subbranch of branch

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

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 以进入 master 吗(尽管我无法理解这将如何工作)?

假设您所指的分叉存在于某些托管 git 服务上,例如 github 或 bitbucket,您应该能够将 branch_1_a 合并到 branch_1 在您本地的分叉克隆中,然后将 branch_1 推送到远程分叉仓库,之后您可以针对您最初分叉的仓库打开 branch_1 的 PR。

首先,git不知道任何"pull requests"(这是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_1 不同于 [=13] 的额外补丁=].