SuperAPI AI 工具集

git-investigate

编程与开发

查看项目

更新于 10-16 04:04

技能介绍

用途

Git Investigate 是一个 Git 历史调查技能,用于追踪代码变更、定位缺陷是在哪次提交中被引入,以及进行根因分析。它面向“代码考古”类问题,例如某段代码是谁写的、何时被修改、为什么被修改、修改过程中遗漏了什么。

主要能力

该技能围绕 Git 历史调查提供以下能力:

  • 定位代码:根据文件与行号、函数名或关键词找到目标代码。
  • 追溯作者:使用 git blame 确定某行代码的作者与提交。
  • 追踪变更时间:使用 git log --follow 查看文件或代码的变更历史。
  • 分析变更原因:结合提交信息与 PR 了解修改动机。
  • 对比差异:使用 git diff 比较原始版本与问题版本,找出被遗漏的内容。
  • 输出调查报告:报告包含调查目标、时间线、根因分析、引入提交的哈希与作者。

使用方式

该技能通过命令触发,支持三种定位方式:

  • 指定具体行:/git-investigate src/service/xxx.ts:123
  • 指定函数名:/git-investigate processToken
  • 指定关键词:/git-investigate "error message"

工作流程为:定位代码 -> git blame -> 找到提交 -> 追踪历史 -> 分析变更 -> 输出报告。

调查框架将问题与方法对应起来:

  • 谁写的?使用 git blame。
  • 何时被修改?使用 git log --follow。
  • 为什么被修改?查看提交信息与 PR。
  • 遗漏了什么?使用 git diff 对比原始版本与问题版本。

适用场景

适用于以下情况:

  • 追踪代码变更历史。
  • 查找缺陷是在哪次提交中被引入。
  • 进行根因分析。
  • 回答“谁写了这行代码”“这行代码何时被修改”等问题。

不适用于以下情况:

  • 代码审查(应使用 codex-review)。
  • 功能开发(应使用 feature-dev)。
  • 单纯阅读代码(应直接使用 Read)。

常见模式

该技能总结了若干常见问题模式及其症状与根因:

  • 类型被移除:枚举值被删除,根因是假设不再需要。
  • 条件被简化:if 条件被减少,根因是重构时遗漏。
  • 重命名:部分未同步修改,根因是搜索替换不完整。
  • 边界被忽略:只处理主流程,根因是未考虑边界情况。

输出与验证

输出为 Git Investigation Report,包含:

  • 目标:文件或功能。
  • 时间线:提交范围。
  • 根因:分析结论。
  • 引入者:提交哈希与作者。

验证标准包括:报告包含调查目标、作者信息、时间线、原始代码与问题代码;根因有清晰分析;修复建议具体且可操作。

限制

资料中未提供关于收费、价格、平台支持范围、性能效果等方面的信息。该技能的具体实现细节、依赖环境与安装方式暂未提供。