用途:帮助在 GitHub 上创建结构规范、格式统一的 Pull Request。流程基于 gh CLI 与 git 命令,强调一次 PR 只处理一件事。
主要能力:检查前置条件(gh 已安装并认证、当前目录为 git 仓库、变更已提交且在非 main/master 的功能分支);自动推断 PR 类型(分支前缀 feat/feature 对应 Feature,fix/bugfix 对应 Bugfix,hotfix 对应 Hotfix,chore/refactor/docs/test 对应 Chore,并映射标签);由分支名生成符合 conventional commit 风格的标题,单提交时优先用提交信息;按类型选用模板填充正文(Feature、Bugfix、Hotfix 模板,Chore 用 feature 模板),并读取 diff 与提交记录补充具体内容;依据 CODEOWNERS 推断审阅人;创建前校验标签是否存在;最终用 heredoc 保留正文格式,调用 gh pr create 创建 PR。
必要用法:先确认当前分支:git branch --show-current;获取默认分支:gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name';推送分支:git push -u origin HEAD;查看提交:git log --oneline "$base_branch"..HEAD;查看差异:git diff "$base_branch"...HEAD。创建命令示例:gh pr create --title "..." --body "$(cat <<'EOF' ... EOF)" --label "enhancement" --reviewer "username"。可选 --draft 用于进行中的工作,--base 用于指定非默认目标分支。
适用场景:功能、修复、热修、杂项变更的 PR 提交与评审准备。
限制:需事先安装并认证 gh CLI;分支名不含已知前缀时需向用户确认类型;CODEOWNERS 无法明确匹配 diff 时需询问审阅人;标签不存在时需询问是否省略或创建;差异超过 500 行建议拆分。