Skip to main content
 首页 » 编程设计

github之如何使用 GitHub 拉取请求进行修补程序

2024年09月07日13mate10pro

警告:我对 git 和 GitHub 都很陌生。

因此,在我当前的设置中,我的团队使用 git flow Hotfixes(通常由 GitKraken 或 IntelliJ 等图形工具启动和完成)进行更改,这些更改必须合并到两个分支中并在两个分支中推送到上游。例如,流程将是:

  • 从大师那里拉最新
  • 启动修补程序
  • 提交更改
  • 将 hotfix 分支合并到 master 和开发并推送到上游

  • 我们现在正在考虑将我们的代码移动到 GitHub 并希望开始使用 Pull Requests,原因有以下几个:
  • 运行测试和东西的 CI Hook
  • 放置与底层“问题”不直接相关的代码特定注释的地方
  • 避免每个人都需要不断地将最新的 master/develop 拉到他们的本地机器上,以便他们可以合并更改

  • 但是在修补程序的情况下,我不确定该怎么做,因为我正在合并到两个分支,但它确实是一个“ Action ”,所以手动创建两个拉取请求似乎很奇怪,特别是因为我们当前流程中的步骤 4)是单击一下。

    有没有聪明的方法来处理这个?我理想的情况是,在拉取请求上按下合并按钮只会合并到两者中,但这似乎不是一个可用的选项。

    请您参考如下方法:

    正如你所提到的,一个拉取请求只有 一个 目标分支,因此您将无法将修补程序推送到 masterdevelop通过合并一个拉取请求。

    我也很惊讶你提到你的步骤 #4 - 将修补程序分支合并到 masterdevelop并插入上游 - 是一项行动。虽然从 hotfix 合并的可能性很大至master不会遇到合并冲突,我不能对来自 hotfix 的合并说同样的话至develop因为它可以在上次部署到生产环境后开始工作。

    我的建议如下:

  • hotfix 创建一个 PR至master并让某人查看它以验证修复
  • 一旦合并到 master ,从 hotfix 创建另一个 PR至develop看看你是否遇到合并冲突
  • 如果是这种情况,请解决合并冲突,使 PR 最终处于要合并的状态,并让某人查看 PR
  • 如果没有合并冲突,那么请某人查看 PR


  • 如果您真的想走自动化路径,另一种解决方案是同时利用 GitHub Webhook 和 API。

    Webhook 将允许您成为 notified when a PR is merged .您可以检查有效负载以确保基本分支以 hotfix/ 开头目标分支是 master .然后,您可以使用 create a new PR 的 API 对该事件使用react。来自同一个 hotfix分支到 develop .

    这将涉及一些开发,而且这种努力可能不值得,因为通过 UI 创建 PR 仍然非常简单快捷。