—
几乎每两次提交就有一次合并
大量分支反复吸收主干,形成高密度 merge-forward 历史。它反映并行开发与同步成本, 不能直接当成功能产出次数。
REPOSITORY HISTORY REPORT
2026.06.10—2026.08.13
DEEPSEEK-AI / DEEPSEEK-HARNESS
对所有可达提交按 SHA 去重,拆开作者、时间、合并结构与代码变更,回答一个核心问题: 这段只有两个月、却超过一万次提交的历史,究竟是怎样形成的?
01 / OVERVIEW
提交数是真的,但它不等于同等数量的独立功能变化。先把历史结构拆开,数字才有意义。
—
大量分支反复吸收主干,形成高密度 merge-forward 历史。它反映并行开发与同步成本, 不能直接当成功能产出次数。
—
前三位作者贡献接近三分之二;有效作者数只有约 —, 远低于名义作者数。
—
峰值阶段集中在 7 月末五天;该阶段日均 — 次提交, 是早期阶段的十倍以上。
02 / TIME
主图可切换 Author Date 与 Committer Date:前者接近“何时创作”,后者接近“何时写入最终历史”。
FIG. 01
Author Date · 按各提交记录的本地日期
MONTHLY LEDGER
PHASES
| 阶段 | 日期 | 日均 | 占比 |
|---|
FIG. 02 / NATIVE CANVAS
仅非合并提交;使用每个提交记录的作者本地时间。色彩只用于表达密度。
PEAK DAYS
TIME ZONES
03 / AUTHORS
主口径采用高置信身份归并;原始名字与邮箱组合仍保留在数据文件中,便于复核。
FIG. 03
按全部提交计,含作者本人创建的 merge commit。
FIG. 04
黑线越早接近 100%,贡献越集中。
ALL CONTRIBUTORS
合并后的作者身份 · 共 位
| # | 作者 | 提交 | 占比 | 非合并 | 合并 | 活跃天 | 首末日期 |
|---|
注:Dudu 与 Dudu-0223 的跨邮箱归并置信度为 medium-high;Ubuntu、tn.shen、xjt 等缺乏可靠证据的身份保持分离。
04 / COMMIT STRUCTURE
把“做了什么”与“如何把分支接回来”分开看,才能理解这一万多次提交。
FIG. 05
按父提交数量识别 merge commit。
FIG. 06
同步分支与正式 PR merge 分开统计。
FIG. 07
—
FIG. 08
按 additions + deletions 分桶;merge 不重复计算 diff。
LARGEST NON-MERGE COMMITS
按 additions + deletions 排序
| SHA | 日期 | 作者 | 主题 | 文件 | + / − |
|---|
05 / CODEBASE
目录热点基于非合并提交的 numstat;避免合并时再次重复计算同一批改动。
FIG. 09
一次提交触及某目录记一次;同一提交内多个文件不会重复增加“提交数”。
MOST TOUCHED FILES
HIGHEST CHURN FILES
06 / INTERPRETATION
下面是基于历史结构做出的解释;它描述工作流痕迹,不评价个人生产力。
剩余 6,683 次非合并提交更接近独立内容变化。merge 本身仍有工程意义——它暴露了并行分支数量、同步频率与历史维护方式——但不能与内容提交一比一相加解释。
—
—
—
Commit count measures history events. It does not directly measure features, effort, quality, or productivity.
07 / METHOD
这部分用于复核数字,也说明哪些结论是事实、哪些是基于证据的推断。
使用 git log --all 读取所有 refs 可达对象,并按 commit SHA 去重。当前克隆只有 master 与其远端引用,HEAD 为 —。
先按邮箱与 GitHub 数字 ID 严格归并,再对明确姓名、账号与分支证据做高置信桥接。归并后 27 个作者簇;仍保留一处 medium-high 映射供人工复核。
主时间线使用 Author Date 的记录本地日期;切换项使用 Committer Date 并统一换算为 UTC+8。跨时区比较与重写历史会让两者不同。
additions、deletions、目录与文件热点只统计非合并提交的 numstat。二进制文件记触达、不记行数;重命名与生成文件仍可能放大 churn。
Chart.js 4.5.1 离线绘图;星期 × 小时热力图为本报告的原生 Canvas 实现;正文使用由 Adobe 思源宋体制作的报告专用字符子集。
同目录提供 report-data.json。核心校验为 git rev-list --all --count、git shortlog -sne --all 与完整 numstat 遍历。