2.7 KiB
2.7 KiB
自动化精选合并
npm run other:cherry-pick 可自动将带有特定标签的拉取请求精选合并至当前分支。
该功能在WordPress主要版本发布时尤为实用,因为脚本默认会查找带有Backport to WP Beta/RC标签的已合并拉取请求。
您也可以通过传递自定义标签作为第一个参数,在不同场景中使用此功能。具体示例可参阅本文档末尾的Gutenberg插件发布案例。
运行npm run other:cherry-pick会出现以下提示:
当前位于 "wp/6.2" 分支
本脚本将执行以下操作:
• 将标记为"Backport to WP Beta/RC"的已合并PR精选合并至此分支
• 询问是否推送该分支
• 在每个PR中添加注释
• 移除每个PR的标签
后两项操作将使用您关联至GitHub CLI(gh命令)的账户执行
是否继续?(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。
如果精选合并出现冲突怎么办?脚本会继续处理其他PR并自动重试。 若部分PR仍合并失败,脚本将跳过这些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"