用途:在遵守仓库既有流程与模板的前提下,创建或更新 GitHub 拉取请求(PR)。适用于被要求创建、打开或更新 PR 的场景。
主要能力与流程:
- 先读取 .github/pull_request_template.md,再起草 PR 正文。
- 从当前分支收集上下文:base/head、变更范围、关联 issue、测试状态、破坏性变更、release note 内容。
- 检查当前分支是否已推送;若未推送,先执行 git push -u <remote> <head-branch>,默认 remote 为 origin,可询问用户是否改用其他 remote。
- 确定 base 分支:官方仓库 CherryHQ/cherry-studio 默认 base 为 origin 的 main(main 为活跃开发线,含 hotfix PR),除非用户明确指定其他 base。fork 仓库可用 git remote -v 查看远端,默认合并到 CherryHQ/cherry-studio/main。
- 分支限制:release/v<version> 分支不得作为 PR 来源,尤其不得合向 main;backport/v<version>/pr-<number> 需匹配对应 release 分支并在正文含 release-backport-source-pr 标记;release-sync 分支需以 chore(release): sync v<version> metadata 标题指向 main。
- 标题规则:发布 hotfix 仅在用户明确要求时使用,格式为 hotfix: <description> 或 hotfix(<scope>): <description>;普通 bug 修复不得使用 hotfix 标题或标签。
- 用单个 Bash heredoc 写入临时文件生成正文,保持模板结构、标题顺序与复选框格式,不适用处填 N/A 或 None。
- 创建前通过 cat 预览完整正文并请用户明确确认(用户显式豁免可跳过)。
- 确认后执行 gh pr create --base <base> --head <head> --title "<title>" --body-file "$pr_body_file",随后删除临时文件,并报告 PR URL、标题/base/head 及后续事项。
限制:不得跳过模板章节或改写模板格式;标题与正文须用英文;release note 与 Docs 复选框需按变更是否面向用户填写,畸形或单语双语块会导致 backport 工作流失败并关闭;未预览确认前不得创建 PR。资料未提供收费、平台或效果信息。