前向合并

概述

前向合并是自动化的拉取请求,用于将燃尽中的分支合并到下一个版本分支中。例如,将 branch-22.12 合并到 branch-23.02 中。这确保了当前分支的所有更改都反映在下一个版本中。

前向合并是通过 ops-bot 前向合并器插件实现的。通过将 forward_merger: true 添加到 .github/ops-bot.yaml,可以在仓库中激活此插件。

目标受众

开发者

项目负责人

运维人员

前向合并

在发布过程中,会创建下一个版本的发布分支并将其设置为默认分支。对于启用了 forward-merger 插件的任何仓库,前向合并器会在燃尽阶段自动将发布分支上的任何提交合并到最新的默认分支。

当前向合并失败时

需要注意的是,前向合并任务有时会因合并冲突而失败,并请求手动合并。切勿使用 GitHub Web UI 来解决合并冲突,因为它会导致默认分支中的更改合并到发布分支中。请使用以下步骤手动解决合并冲突:

branch-25.04 发布分支和新的默认分支 branch-25.06 为例。

git checkout branch-25.04
git pull <rapidsai remote>
git checkout branch-25.06
git pull <rapidsai remote>
git checkout -b branch-25.06-merge-25.04
git merge --no-squash branch-25.04
# Fix any merge conflicts caused by this merge
git commit -am "Merge branch-25.04 into branch-25.06"
git push <personal fork> branch-25.06-merge-25.04

完成此操作后,打开一个以新的默认分支(本例中为 branch-25.06)为目标的拉取请求,包含您的更改。

重要提示:合并此拉取请求时,请勿使用 自动合并器(即 /merge 注释)。管理员必须手动合并,将合并策略更改为 Create a Merge Commit。否则,历史记录将会丢失,并且分支将变得不兼容。

此拉取请求获得批准并合并后,原始的前向合并器拉取请求应会自动合并,因为它将包含相同的提交哈希。