SuperAPI AI 工具集

gh-pr

通用与其它

查看项目

更新于 10-15 19:54

技能介绍

用途:用 gh CLI 为当前分支创建或更新 GitHub Pull Request,并依据已有 PR 的合并状态自动判断“新建 PR”还是“仅推送”,避免重复或空 PR。

主要能力:

  • 不创建或切换分支,PR 头分支始终使用当前分支,基分支默认 develop。
  • 查询同分支已有 PR:gh pr list --head <head> --state all --json number,state,mergedAt,updatedAt,url,title,mergeCommit,以 mergedAt 是否为 null 判断是否已合并。
  • 存在未合并 PR(OPEN 或 CLOSED 未合并)时仅推送,不新建 PR;仅在用户明确要求时才更新标题、正文或标签。
  • 同分支所有 PR 均已合并时,检查合并后是否还有新提交:取最近合并 PR 的 mergeCommit,执行 git rev-list --count <merge_commit>..HEAD;大于 0 才新建 PR,等于 0 则报告“自上次合并后无变化”并结束。
  • 按模板收集并填充 PR 内容,包括 Summary、Context、Changes、Testing、Risk/Impact、Deployment、Screenshots、Related Links、Notes,缺失信息保留 TODO 并说明。

使用方式:先确认仓库与分支(git rev-parse --show-toplevel、git rev-parse --abbrev-ref HEAD),执行 git fetch origin 获取最新远程状态;查询已有 PR;推送当前分支(无上游时 git push -u origin <head>,否则 git push);需要新建时用 gh pr create -B <base> -H <head> --title "<title>" --body-file <file>,用户要求更新时用 gh pr edit <number> --title "<title>" --body-file <file>,最后以 gh pr view <number> --json url -q .url 返回 PR 地址。

适用场景:已用 gh 登录并具备仓库权限的本地工作流,需按固定规则管理同分支 PR 的场景。

限制:依赖 gh CLI、git 与 jq;基分支默认 develop,可由用户指定;模板路径为 references/pr-body-template.md;其余未在资料中说明。