-
Notifications
You must be signed in to change notification settings - Fork 0
Home
omeyang edited this page Jul 22, 2026
·
5 revisions
按维度统计 git 变更:代码 / 测试代码 / 其他非代码 / 文件,各输出 新增·删除·修改(为 0 的格留空)。只保证 Go 与 Python 两种语言的识别。零依赖单二进制(纯 Rust 标准库),装上即是 git diffdim 子命令。

diffdim · main...feature 2 个提交 · 7 个文件变更
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
语言 文件 新增 删除 修改
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Go 2 +7 ~1 ██████████████████
───────────────────────────────────────────────────────────────────────
Python 1 -1 ██░░░░░░░░░░░░░░░░
|- 测试 1 +3 ███████░░░░░░░░░░░
(合计) 2 +3 -1
───────────────────────────────────────────────────────────────────────
其他非代码 3 +1 -3 ~1 ███████████░░░░░░░
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
总计(行) 7 +11 -4 ~2
文件(个) 2 1 4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tokei 式语言分类:测试代码以 |- 子行挂在所属语言下;真彩色数字 + 纯色比例条带暗色轨道(段序固定、数字直标,色盲亦可辨),0 值留空。
# 一键安装(Linux x86_64/arm64、macOS Intel/Apple Silicon):
curl -fsSL https://raw.githubusercontent.com/omeyang/diffdim/main/install.sh | sh
# 或 cargo install --git https://github.com/omeyang/diffdim
# 或从 Releases 下载二进制放入 PATH(Windows 用 zip)
git diffdim main feature # 比较两个分支
git diffdim -n 5 # 最近 5 个提交装好即是 git 插件:git 自动把 PATH 里的 git-diffdim 识别为 git diffdim 子命令,零配置。
| 页面 | 内容 |
|---|---|
| 使用指南 | 全部命令形式、选项、范围语义 |
| 统计口径 | 维度划分规则、"修改行"的精确定义、边界情况 |
| HTML 报告 |
--html 自包含报告:结构、双主题、配色依据 |
| 开发与发布 | 项目结构、测试、发布流程 |
git diff --stat / --numstat 只有增删两列、不区分测试与生成代码;tokei/cloc 统计的是仓库存量而非两个版本之间的变更。diffdim 补的正是"这次改动里,真正的业务代码动了多少"这个问题。