我可以使用与base和compare分支相同的分支创建拉取请求吗?

时间:2017-08-18 23:22:28

标签: git github pull-request

我有一个拥有主人和分支的github仓库。我们一直在开发分支,然后每次推出一个版本,我们将分支的更改合并到master中,然后再次在分支上开始下一个开发阶段。现在,我们被要求在分支上使用pull请求修复错误。所以问题是,如何单独执行分支上的所有pull请求,而不涉及master?

更具体地说,我有一个更改了bug的branchA,然后我提交并推送到branchA repo,然后我转到我的github repo网页并尝试通过指定基本分支和比较分支来执行pull请求作为'branchA',然后github说:没有什么可比较的。您需要使用两个不同的分支名称才能获得有效的比较。这肯定是有道理的,所以我问是否有可能通过拉取请求以某种方式比较错误修复之前和之后的 SAME 分支。

4 个答案:

答案 0 :(得分:5)

短语“仅在分支上执行所有拉取请求”“不涉及主”并不真正有意义,因为拉取请求基本上是一组请求合并到分支中的更改,在您的情况下将是master分支。

以下是GitHub's page on pull requests的说明:

  

拉取请求让您告诉其他人您已推送到的更改   GitHub上的存储库。拉开请求后,您可以进行讨论   并与协作者一起审查潜在的变化并添加后续行动   在将更改合并到存储库之前提交   ...
  初始化拉取请求后,您会看到显示的评论页面   高级概述您的分支之间的变化(比较   分支)和存储库的基本分支。

此外,creating a pull request将要求您指定要将更改合并到的分支,在您的情况下,将是master分支。

如果您打算永远不涉及master分支,则可以create a patch代替与错误修复相关的提交,然后在那里执行代码审查。 (您还可以create a patch by diff-ing修改后的文件。但这只会让代码审查变得更加困难。

答案 1 :(得分:3)

如果PR将从同一个github repo发出,则必须通过分支完成,即从已知分支创建分支并进行更改,然后通过比较两个分支来创建PR。感谢所有帮助确认这一点的人。

如果有人制作了github仓库的分支,那么分叉仓库中的变化可以用于基于看似相同的分支发布PR(在两个不同的仓库中,即一个原始仓库,另一个是分支仓库)。这是我感到困惑的地方,因为我看到PR来自看似相同的分支,但实际上,它来自不同的仓库(叉子),技术上。

答案 2 :(得分:2)

拉请求只是告诉github我希望这个分支只有在经过审核和批准后才能接受此提交。

执行拉取请求时,它涉及两个分支 1.比较分支(你推动的那个) 2.基础分支(批准后审核变更的分支)

基本分支通常是主分支,但不限于主分支。

只需将其更改为您要将PR合并到的分支,即可完成!

拉取请求并不仅限于掌握!

答案 3 :(得分:0)

如您所述,您对(主题)分支进行了开发,然后将其合并到master。理想情况下,这也是使用拉取请求(PR)的主题。

将PR视为将branchA(topi / development / bugfix)合并到branchB(master)的请求。为什么不像以前那样直接合并?让其他开发人员在将代码合并到稳定的branchehs或使用CI / CD服务器之前检查代码。