git-ai快速上手:AI Blame实战,3步看清每一行代码出自AI还是人类
【免费下载链接】git-aiA Git extension for tracking the AI-generated code in your repos项目地址: https://gitcode.com/gh_mirrors/git/git-ai
git-ai 是一款开源的 Git 扩展,专门用于追踪你仓库中每一行 AI 生成代码。安装后,每次git commit都会自动在提交中附带归属信息,把每一行 AI 代码链接到生成它的Agent、模型和 Prompt,让 AI 与人类的贡献从此一目了然。
为什么需要 AI 代码归属追踪?
当 Claude Code、Cursor、GitHub Copilot 等 AI 编程工具大举进入日常开发,一个尴尬的现实随之而来:代码提交后,没人说得清哪些行是 AI 写的、哪些是人写的。
git-ai 的解法非常直接:
- 🪄零工作流改造—— 照常 prompt、照常 commit,归属元数据自动附加到每个提交
- ⚡零性能开销—— 不依赖 Git Hooks、不包装 Git 二进制文件
- 💻本地优先—— 离线可用,无需登录
- 🔒安全存储 Prompt—— 会话数据在提交前被扫描脱敏,保存在仓库之外
它不是靠 AI 或启发式"猜"哪行是 AI 写的,而是由 Agent 在写代码时主动上报精确的行级归属,准确度最高。
第1步:一行命令安装 git-ai
安装过程只需一条命令,Mac / Linux / WSL 用户执行:
curl -sSL https://usegitai.com/install.sh | bashWindows 用户则使用 PowerShell:
powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://usegitai.com/install.ps1 | iex"安装脚本的完整实现可以查看 install.sh。无需为每个仓库单独配置,也无需设置 git hooks,安装完成后即可全局生效。
第2步:照常提示和提交,归属自动记录
你完全不需要改变工作方式——用任意 Agent 写代码、用任意方式提交(CLI、IDE、Git 客户端、甚至自定义别名)都可以。
背后的机制是这样的:Agent 每次修改文件时都会调用git-ai checkpoint打一个"检查点",记录下谁改了什么;提交时 git-ai 将这些检查点聚合成行级归属数据,写入Git Notes,与提交绑定保存。
整个过程对 Git 命令不增加任何延迟,归属数据也随提交一起推送、拉取,团队成员都能共享。
第3步:用 git ai blame 看清每一行代码的作者
现在进入重头戏——AI Blame。git ai blame是标准git blame的"平替",支持所有原生git blame参数,但多了一项超能力:逐行显示这行代码是 AI 写的还是人类写的。
git ai blame src/log_fmt/authorship_log.rs在输出中,人类作者显示你的名字(如 Aidan Cunniffe),AI 代码则直接显示 Agent 名称(如 claude)——哪一行出自哪个工具,一眼看清。
💡小贴士:在 VS Code、Cursor、Windsurf 等编辑器中安装 git-ai 插件后,还能在代码栏看到按会话着色的 AI 归属标注,鼠标悬停即可查看原始 Prompt 或摘要。相关实现参见 agent-support/vscode/。
进阶:git ai stats 查看 AI 占比统计
想知道某个提交或某段时间范围内 AI 代码的占比?git ai stats会给出人类新增行、AI 新增行、AI 被接受行,并按工具和模型细分统计:
git ai stats --json团队甚至可以让机器人自动在 Pull Request 下评论 AI 占比,例如"你 38% / mixed 15% / ai 46%,平均每接受 1 行 AI 生成了 1.7 行",AI 采纳率与返工率尽在掌握。
支持哪些 AI 编程工具?
git-ai 定义了 Git AI 开放标准,目前主流 Coding Agent 均已接入:
包括 Claude Code、Codex、Cursor、GitHub Copilot、OpenCode、Windsurf、Gemini、Continue 等 15+ 款工具,且无需手动配置 Agent hooks——git-ai 每天自动检查并更新 Agent 钩子(想手动触发可运行git ai install-hooks)。
常见问题
rebase、squash、stash 会丢失归属吗?不会。rebase、cherry-pick、stash、merge --squash、reset等重写操作完成后,git-ai 会自动分析代码最终状态,把行级归属迁移并合并到新的提交 Notes 中,完整能力矩阵见 docs/rewrite-ops-spec.md。
归属数据存在哪里?存储在 Git Notes(refs/notes/ai)中,可运行git log --show-notes="ai"查看,技术细节见 docs/notes-backend-spec.md。
会影响性能吗?不会。git-ai 不使用 Git hooks,也不包装 Git 命令,git 操作速度与安装前完全一致。
可以免费单独使用吗?可以。git-ai 开源免费、纯本地运行,无需登录和团队配置。
总结
只需3 步:安装 git-ai → 照常让 Agent 写代码并提交 → 运行git ai blame,你就拥有了行级的 AI/人类代码归属视图。配合git ai stats统计与 IDE 插件着色展示,从"用了 AI"到"量化 AI",只差一条命令的距离。
📎延伸阅读:
- 核心 Blame 逻辑:src/commands/blame.rs
- 归属日志数据结构:src/authorship/authorship_log.rs
- 项目说明文档:README.md
【免费下载链接】git-aiA Git extension for tracking the AI-generated code in your repos项目地址: https://gitcode.com/gh_mirrors/git/git-ai
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考