title: "自动化精选合并" post_status: publish comment_status: open taxonomy: category: - gutenberg-docs post_tag: - Code - Contributors - Repos
自动化精选合并
npm run other:cherry-pick 可自动将带有特定标签的 Pull Request 精选合并到当前分支。
这对于主要的 WordPress 版本发布特别有用,因为默认情况下脚本会查找带有 Backport to WP Beta/RC 标签且已合并的 Pull Request。
您也可以通过传递自定义标签作为第一个参数,在不同场景中使用它。请参阅本文档末尾的 Gutenberg 插件发布示例。
运行 npm run other:cherry-pick 会出现以下提示:
您当前在 "wp/6.2" 分支。
本脚本将:
• 将标记为 "Backport to WP Beta/RC" 的已合并 PR 精选合并到此分支
• 询问您是否要推送此分支
• 在每个 PR 上添加评论
• 从每个 PR 中移除标签
后两个操作将使用您链接到 GitHub CLI(gh 命令)的
GITHUB 账户来执行
是否继续?(Y/n)
一旦您同意,将发生以下操作:
尝试逐一进行精选合并..
$ git pull origin wp/6.2 --rebase...
$ git fetch origin trunk...
找到以下需要精选合并的 PR:
#41198 – 站点编辑器:为样式预览设置最小宽度
获取提交 ID... 完成!
#41198 – 860a39665c318d33027d – 站点编辑器:为样式预览设置最小宽度...
尝试逐一进行精选合并...
第一轮精选合并:
精选合并提交:afe9b757b4 对应 PR:#41198 – 站点编辑器:为样式预览设置最小宽度...
精选合并完成!
总结:
1 个 PR 已成功精选合并
0 个 PR 失败
即将推送到 origin/wp/6.2
是否继续?(Y/n)
这次运行成功了,太棒了!您可以利用这个时机确认正确的 PR 已被精选合并。
如果精选合并未能顺利应用怎么办?脚本会应用其余部分并重试。 如果某些精选合并仍然失败,脚本会跳过它们并告知您哪些冲突需要手动解决。
无论哪种情况,一旦您通过精选合并阶段,将发生以下操作:
推送到 origin/wp/6.2
添加评论并移除标签...
41198:我已将此 PR 精选合并到 wp/6.2 分支,以便将其包含在下一个版本中:afe9b757b4
完成!
评论部分是可选的,并且只有在您安装了 gh 命令行工具 时才可能执行。
我可以使用 Backport to WP Beta/RC 以外的标签吗?
可以!将其作为第一个参数传递:
npm run other:cherry-pick "另一个标签"
如何将其用于 Gutenberg 插件发布?
# 切换到发布分支
git checkout release/X.Y
# 精选合并所有带有相关回传标签的已合并 PR
npm run other:cherry-pick "Backport to Gutenberg RC"
未来改进
未来,如果脚本能根据当前所选分支自动选择相关标签就更好了:
- release/X.Y - 插件发布 – "Backport to Gutenberg RC"
- wp/X.Y - WordPress 发布 – "Backport to WP Beta/RC"