用途:批量清理 GitHub 开放 PR 队列,优先合并安全、独立的绿色 PR,对受阻 PR 做窄范围修复,遇到无关 CI 仍在等待时继续推进,目标是降低 WIP,而不是对每个分支做串行全量审查。
主要能力:批量查询所有开放 PR 并分类为 green、red、pending、conflict、needs-review、dependency-blocked;按用户显式依赖顺序(如“先合并 #12 再 #18”)拓扑排序;合并绿色独立 PR;对红色 PR 只检查失败检查、卡在 setup 的作业和可操作的评审意见,做最小修复后推送并继续;可取消并重跑卡在 setup、checkout、依赖安装或工具安装 5-8 分钟的 GitHub Actions 作业;最终报告合并、已修复待 CI、受阻 PR 及证据。
使用方式:用户以 merge-train、WIP-drain、“review all PRs”或合并请求授权常规队列操作。先执行 gh auth status -h github.com、git status --short、git fetch --all --prune、gh repo view --json nameWithOwner,defaultBranchRef、gh api repos/{owner}/{repo} --jq '{allow_squash_merge,allow_rebase_merge,allow_merge_commit}' 建立护栏;再用 gh pr list --state open --limit 200 --json number,title,url,isDraft,headRefName,baseRefName,author,mergeable,reviewDecision,statusCheckRollup,updatedAt 批量查询;合并命令如 gh pr merge <number> --squash --delete-branch、--rebase、--merge;CI 相关 gh run view <run-id> --json jobs、gh run cancel <run-id>、gh run rerun <run-id> --failed、gh run rerun <run-id> --job <job-id>。
限制:绝不部署、不提升发布、不删除无关分支、不重写无关历史;强制推送、大范围 CI/部署配置变更、删除 PR 合并动作之外的分支需先询问;绕过分支保护的 admin merge 必须获得显式确认,队列清理请求不构成授权;不运行重型本地测试套件,只做针对改动文件的聚焦检查;保留无关的本地脏改动,必要时使用干净 worktree;若仅因分支策略受阻而检查为绿,应记录策略信息并保持 blocked。