从分叉到父存储库的堆叠拉取请求

问题描述 投票:0回答:1

Stacked Pull Requests 模式在从 fork 到父 repo 进行 PR 时如何使用?

当我们需要将一个大的功能拆分成小的可审查的 PR 时,我经常使用这种模式。在一个 repo 中,它只需要在子分支之间进行 PR,这非常简单。但是当我想在 repos 之间创建 PR 时,我找不到如何实现它。

例如,我想创建一个 PR 来修复 Timeline 组件的 Tab 键顺序,但此更改取决于修复横向箭头和菜单按钮可聚焦性的 PR。在单个回购中,我会有这样的 PR 依赖结构:

  1. master <- sideways-fix
  2. sideways-fix <- menu-fix
  3. menu-fix <- tabbing-fix

但是交叉回购 PR 允许我只选择

master
分支作为目标。这导致拥有 3 个 PR:

  1. master <- sideways-fix
  2. master <- menu-fix
  3. master <- tabbing-fix

并且最后一个 PR 与上面 2 个 PR 的变化重叠使得它更大并且更难审查。

git github git-merge pull-request git-fork
1个回答
3
投票

虽然这没有得到直接支持,但自 2021 年 10 月以来,有一个 Pull Request Merge Queue Limited Beta 正在进行中(现在,2023 年 2 月,在 GA:一般可用性)。

更多的是并行验证标识为“准备好合并”的拉取请求的不同组合,以便拉取请求可以有效地合并,并且没有当今合并之间存在的典型延迟。

所以,不完全是您的用例,但很接近,因为您不必在合并 PR 之前对其进行变基。

在客户端,你有

realyze/pr-train
可以帮助:

git pr-train 在您需要将长 PR 拆分成较小的 PR 时帮助您管理 PR 链。

如果你有一个 PR 链,

git pr-train

确保链中的所有分支在您修改其中任何一个时都得到更新 使用目录为您创建 GitHub PRs

© www.soinside.com 2019 - 2024. All rights reserved.