【问题标题】:Github pull request for a branch of a branchGithub pull request 一个分支的一个分支
【发布时间】:2017-01-07 15:11:26
【问题描述】:

我的 git 日志如下所示:

-------> develop
\---> A
    \---> B

A 分支基于开发,正在拉取请求中进行审核。同时,我需要从分支开发更多的东西,所以我创建了分支 B。还有一个将分支 B 拉入开发的请求,其中包括分支 A 和分支 B 的提交。

分支A的review结束,合并到develop,此时Github说我需要将develop合并到分支B,但是如果我这样做的话,通常会产生很多合并冲突,可以很难解开。

有没有办法同时对分支 A 和 B 执行拉取请求,而在分支 A 合并时不会混淆分支 B 的拉取请求?

【问题讨论】:

    标签: github pull-request


    【解决方案1】:

    我发现这里的工作流程有问题。 为什么要将分支合并到创建它的分支之外的其他东西中?

    像这样改变工作流程可以让一切顺利进行:

    1. 创建分支 A 关闭开发
    2. 进行更改(如果有的话)以开发您在不同分支上提到的“更多内容”
    3. 从 A 创建分支 B
    4. 转到将 A 合并到开发中的拉取请求并发表评论,说明您正在从 A 创建的分支上开发更多内容,并希望审阅者进行审阅,就好像 A 已经拥有这些内容一样
    5. 在 B 上开发“更多内容”
    6. 创建一个 PR 以将 B 合并到 A 中,以确保所有内容都经过审核
    7. 将 B 合并到 A
    8. 最后一次检查所有内容,以防万一
    9. 将 A 合并到开发中

    【讨论】:

    • 在我们的例子中,A 不能等待 B 才能合并,所以虽然我同意这可以防止我们遇到的问题,但它不适合我们需要的迭代周期。 A 和 B 也是足够不同的特征,我们不能同时做这两个。
    • @hgcrpd 我想你可以按照这个流程,稍后从分支 A 创建第二个 PR
    【解决方案2】:

    一种解决方案可能是使用允许您change the base branch of a pull request 的 Github 功能。所以工作流程看起来像这样:

    1. 从开发中创建分支 A
    2. 在A上做事
    3. 为 A 创建拉取请求以合并到开发中
    4. 从 A 创建分支 B
    5. 在 B 上做事
    6. 为 B 创建拉取请求以合并到分支 A
    7. 准备就绪时合并分支 A,并将分支 B 的拉取请求更改为基于开发
    8. 准备就绪时合并分支 B。

    一旦你改变了分支 B 的基础,那么我认为 Github 应该会显示正确的差异,但还没有测试过。

    【讨论】:

      猜你喜欢
      • 2018-09-16
      • 2012-03-02
      • 2016-03-30
      • 2013-09-30
      • 2021-04-16
      • 2012-01-29
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多