用途:当需要“找出哪个提交破坏了功能”“调试回归”“用二分查找定位缺陷”等场景时,使用该技能系统性地定位引入问题的确切提交。
主要能力与流程:技能分四阶段。阶段1做好准备与验证:确认当前目录是 git 仓库且工作区干净(git status),识别 good/bad 提交范围,验证 bad 提交确实存在问题、good 提交确实正常,并估算所需步数(约 log2 提交数)。阶段2选择策略:通过询问用户在自动化、手动、混合三种方式中选择;自动化需编写确定性测试脚本,退出码 0 表示 good、1 表示 bad、125 表示 skip,且只测试一个具体项并包含构建/依赖准备。阶段3执行:运行 git bisect start <bad> <good>,循环用子智能体验证当前提交,再运行 git bisect good|bad|skip,结束后 git bisect reset 并回到原分支。阶段4分析与交接:展示首个坏提交的哈希、作者、日期、提交信息和变更文件(git show --stat),可用 git show <hash> 查看完整差异、git show <hash>:<file> 查看该提交下文件,随后交接至 systematic-debugging 分析根本原因。
使用方式:先宣布使用该技能并维护四阶段清单;阶段1强制校验范围和干净状态,范围错误会浪费整次运行;阶段2必须让用户选择策略而非默认自动化;阶段3每个提交在隔离子智能体中测试以保持主上下文干净。
限制:按设计不处理复杂合并提交问题(需 --first-parent)、不稳定/间歇性测试失败(需统计方法)、跨多个提交的构建系统故障(需高级 skip 策略);这些场景建议由用户手动手动引导 git bisect。对于超过1000个提交的范围会先警告并请求确认。