研发协作
用 gh CLI 系统化处理 PR 评审意见:逐条分析…
在当前分支的 PR 上逐条处理未解决的评审线程,完成代码修改、提交,并按需回复和标记解决。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
用 gh CLI 系统化处理 PR 评审特定
解决思路
- 先检查 gh pr-review 扩展是否已安装:`gh extension list | grep -q pr-review || gh extension install agynio/gh-pr-review`
- 获取当前分支的 PR 编号:`gh pr view --json number -q .number`
- 获取仓库 slug:`gh repo view --json nameWithOwner -q .nameWithOwner`
- 在后续每个 gh pr-review 子命令中都显式传入 `--pr <number>` 和 `--repo <owner/repo>`,不要省略
- 拉取并展示所有未解决的 PR 评审线程:`gh pr-review review view --pr <number> --repo <owner/repo>`,可用 `--unresolved` 只看未解决线程,`--reviewer <login>` 按评审人过滤,`--states <list>` 按状态过滤,`--tail <n>` 只看最后 n 条回复,`--include-comment-node-id` 获取回复的 GraphQL node ID
- 逐条分析每个线程,理解评审人要求的具体改动
- 对每个线程:进行必要的代码修改
- 对每个线程:在可行时补充单元测试来验证改动
- 对每个线程:使用符合 conventional commit 规范的描述性提交信息提交改动
- 汇总报告已处理的线程
- 询问用户是否要解决这些线程;若同意,则先回复每个线程说明已完成的改动,再将其标记为已解决
- 回复线程:`gh pr-review comments reply --thread-id <PRRT_...> --body "<reply-text>" --repo <owner/repo> --pr <number>`;多行回复用 heredoc 语法 `--body "$(cat <<'EOF' ... EOF\n)"`
- 解决线程:`gh pr-review threads resolve --thread-id <PRRT_...> --pr <number> --repo <owner/repo>`;线程 ID(格式 `PRRT_...`)来自 `review view --include-comment-node-id`
适用边界 · 注意事项
- 未安装 gh CLI 或 gh-pr-review 扩展时
- 当前分支没有关联 PR 时
- 评审意见需要人工判断或涉及设计决策、无法自动改代码时