恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
别只盯最后一个提交:GGA --pr-mode整份PR代码审查实战教程
首页
资讯中心
/
别只盯最后一个提交:GGA --pr-mode整份PR代码审查实战教程
别只盯最后一个提交:GGA --pr-mode整份PR代码审查实战教程
发布时间:2026/10/14 22:34:44
【免费下载链接】gentleman-guardian-angel Gentleman Guardian Angel (gga) - Provider-agnostic code review using AI. Use Claude, Gemini, Codex, Ollama to enforce your coding standards.项目地址https://gitcode.com/gh_mirrors/ge/gentleman-guardian-angel点击查看免费下载GGAgentleman-guardian-angel是一款 Provider-agnostic 的 AI 代码审查工具而gga run --pr-mode是它的杀手级功能不再只看最后一个提交而是把整份 PR 的变更交给 AI 审查。本文带你从零上手 GGA PR 审查模式覆盖分支基线检测、--diff-only省钱技巧与 CI 集成实战。为什么只盯最后一个提交不够先想一个场景你在 feature 分支上提交了 8 次——改接口、改实现、修测试、最后补一个文档。普通的 pre-commit 审查每次只盯着当前暂存文件CI 里的--ci模式则只看最后一次提交。问题就出在这里中间提交的违规可能被洗白第三次提交埋下的any类型第七次提交只是把文件挪了个位置单独看任何一次提交都没毛病合起来却是一坨不合规的代码跨文件的整体性问题看不见比如新模块拆了 5 个文件每个文件单独审查都通过但模块整体违反了项目架构规范。--pr-mode的解法很直接以基线分支为参照把 PR 范围内所有改动的文件一次性交给 AI 审查。它的实现逻辑都在 lib/pr_mode.sh 里核心就做四件事自动检测基线分支mainmasterdevelop优先级用git diff计算基线分支...HEAD范围内的全部变更文件按FILE_PATTERNS/EXCLUDE_PATTERNS过滤文件列表把编码规范 变更文件完整内容打包成审查 prompt 发给 AI一键安装与初始化macOS / Linux 上最快的安装方式是 Homebrewbrew install gentleman-programming/tap/gga手动安装则先克隆仓库git clone https://gitcode.com/gh_mirrors/ge/gentleman-guardian-angel cd gentleman-guardian-angel ./install.sh装好后到你的项目目录做两步初始化cd ~/your-project gga init # 生成 .gga 配置文件 gga install # 安装 pre-commit git hook然后写一个AGENTS.md描述你的编码规范比如禁止 any 类型必须命名导入 ReactGGA 就会拿着这份规范去审查代码。GGA 支持 Claude、Gemini、Codex、Ollama 等 11 种 AI Provider改一下.gga里的PROVIDER即可切换详见 docs/providers.md。--pr-mode 快速上手三条命令跑通整份 PR 审查一切准备就绪后在你的 feature 分支上执行gga run --pr-mode就这么简单。GGA 会自动检测基线分支按mainmasterdevelop的优先级取第一个存在的本地分支检测逻辑见 lib/pr_mode.sh 中的detect_base_branch()函数列出基线分支...HEAD范围内所有改动过的文件自动过滤已删除文件将文件完整内容连同AGENTS.md规范一起发给 AI解析 AI 回复开头的STATUS: PASSED或STATUS: FAILED失败时列出每一条违规的文件、行号和修复建议如果你的项目基线不是这三个名字比如release/v3在.gga里加一行即可配置说明见 docs/configuration.mdPR_BASE_BRANCHrelease/v3 小技巧不确定当前生效的配置时随时运行gga config查看。想更省更快用 --diff-only 只传 diff默认模式下GGA 会把每个变更文件的完整内容发给 AI——审查上下文最全但 token 消耗也最高。如果 PR 只改了很小一部分完全可以加一个--diff-onlygga run --pr-mode --diff-only此时 prompt 里只包含 PR 的 unified diff实现见 lib/pr_mode.sh 中的build_pr_prompt()函数官方文档原话是faster, cheaper——更快、更省钱。两种模式怎么选场景推荐模式原因新模块、大重构、跨文件架构调整--pr-modeAI 需要完整文件上下文小功能、小修复、CI 日常跑量--pr-mode --diff-onlydiff 足以判断成本更低⚠️ 注意--diff-only必须与--pr-mode搭配使用单独使用会报错--diff-only can only be used with --pr-mode。把整份 PR 审查放进 CI/CD本地审查是提交前自查CI 审查是合并前最后一道闸。把--pr-mode放进流水线每次 PR 打开或更新时都会自动执行完整审查。GitHub Actions 示例如下完整写法见 docs/integrations.mdon: pull_request: types: [opened, synchronize] jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 with: fetch-depth: 0 # 必须全量拉取才能对比基线分支 - name: Install GGA run: | git clone https://gitcode.com/gh_mirrors/ge/gentleman-guardian-angel /tmp/gga echo /tmp/gga/bin $GITHUB_PATH - name: Run AI Review run: gga run --pr-mode两个容易踩的坑fetch-depth: 0不能省。CI 默认 shallow clone 只拉一层历史main...HEAD的 diff 范围会算不出来Provider CLI 要先装好。比如用 Claude 需要先npm install -g anthropic-ai/claude-code并配置好 API Key。配合.gga里的STRICT_MODEtrue默认开启AI 回复含糊其辞时 CI 会直接判失败防止没审明白却放行。常见问题排查报错Could not detect base branch本地既没有main也没有master/develop分支。要么先git checkout main要么在.gga里显式配置PR_BASE_BRANCH。审查了不该审的文件检查.gga中的FILE_PATTERNS和EXCLUDE_PATTERNSPR 模式的文件过滤完全复用这两个配置项。结果总是变了又变PR 模式默认走智能缓存文件内容、AGENTS.md、.gga任一变化才会重新送审机制详解见 docs/caching.md。更多问题可查 docs/troubleshooting.md。延伸阅读命令完整参考docs/commands.md配置项速查docs/configuration.mdPR 模式单元测试spec/unit/pr_mode_spec.sh分支检测、范围构建、文件过滤都有覆盖一句话总结gga run --pr-mode把资深工程师通读整份 PR这件事自动化了——本地跑一遍自检CI 跑一遍把关代码规范从此不再靠人肉盯。赞分享【免费下载链接】gentleman-guardian-angel Gentleman Guardian Angel (gga) - Provider-agnostic code review using AI. Use Claude, Gemini, Codex, Ollama to enforce your coding standards.项目地址https://gitcode.com/gh_mirrors/ge/gentleman-guardian-angel点击查看免费下载相关推荐pyenv-win源码贡献实战从提交PR到代码审查的完整流程pyenv win源码贡献实战从提交PR到代码审查的完整流程 引言为什么参与pyenv win开源贡献 作为Windows平台下Python版本管理工具的开发工具CLIElectron应用崩溃报告终极指南Sentry在LanMiaoDesktop中的完整集成实践Electron应用崩溃报告终极指南Sentry在LanMiaoDesktop中的完整集成实践 作为一款基于Electron VueVuetify技术栈开发桌面应用前端如何在CSS中直接编写SVGpostcss-write-svg完整入门指南如何在CSS中直接编写SVGpostcss write svg完整入门指南 postcss write svg是一款强大的PostCSS插件它让开发者能够直创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考