git-repo-audit
v1.0.0
Published
Codebase audit: churn hotspots, bus factor, bug hotspots, commit trend, firefighting — inspired by piechowski.io
Maintainers
Readme
git-repo-audit
读代码之前先给代码库做个体检 —— 一条命令摸清一个陌生项目的"健康状况"。
基于 The Git Commands I Run Before Reading Any Code 的思路,把作者审计代码库的 5 组诊断命令集成成 6 个零依赖、跨平台的命令行工具。用 Node 实现,不依赖 sort / uniq / head / grep 等 Unix 工具,Windows / macOS / Linux 通用。
安装
# 全局安装,一次装好、到处可用
npm i -g git-repo-audit本地开发联调:
git clone <repo> && cd git-repo-audit
npm link使用
在任意 git 仓库中运行:
git-audit # 一键体检,输出全部 5 组结果
git-audit src/ # 只统计某个子目录(避免 lockfile 刷榜)
git-audit --since "6 months ago"
git-hotspot # 改动最频繁的文件
git-bus # 贡献者排名(含近 6 个月,识别"巴士因子")
git-bugspots # bug 高发文件
git-trend # 逐月提交趋势
git-fire # 回滚/热修复检测参数
| 参数 | 说明 | 默认值 |
| --- | --- | --- |
| --path <dir> / 位置参数 | 限定统计目录 | . |
| --since <time> | 时间窗口(git 时间表达式) | 1 year ago |
| --top <n> | 结果条数 | 20 |
git-hotspot src/ --since "6 months ago" --top 10各命令说明
| 命令 | 分析内容 | 对应文章 |
| --- | --- | --- |
| git-audit | 一键体检 + 交叉风险对照 | 全部 |
| git-hotspot | 改动最频繁的文件(churn 热点) | 1 |
| git-bus | 贡献者排名与"巴士因子"风险 | 2 |
| git-bugspots | bug 高发文件(提交信息含 fix/bug/broken) | 3 |
| git-trend | 逐月提交趋势,判断项目兴衰 | 4 |
| git-fire | revert/hotfix 检测,团队是否在"救火" | 5 |
git-audit 的最后一节是交叉风险对照:同时出现在"改动热点"和"bug 热点"两个列表里的文件 = 最高风险 —— 反复出 bug、反复打补丁,却从未被真正修复。
注意事项
- 需在 git 仓库内运行;
--since等参数透传给git log,遵循 git 的时间表达式语法。 git-bugspots依赖规范的提交信息(如约定式提交fix:);若团队提交信息没有规律,该命令参考价值有限。- 中文 / 特殊字符文件名已通过
core.quotepath=false处理。 - 在非 git 目录下运行会得到友好的错误提示。
许可
MIT
