大数跨境
0
0

通过 Git 的 commit 时间分布推导出项目的编码工作强度,将复杂的加班情况转化为直观数值,一眼看穿项目卷度

通过 Git 的 commit 时间分布推导出项目的编码工作强度,将复杂的加班情况转化为直观数值,一眼看穿项目卷度 github淘金
2025-12-04
9
导读:code996“这是一个分析工具,可以统计 Git 项目的 commit 时间分布,进而推导出项目的编码工作强

code996

这是一个分析工具,可以统计 Git 项目的 commit 时间分布,进而推导出项目的编码工作强度,帮助用户了解新团队工作的时间模式,识别潜在的加班文化。

Github地址

https://github.com/hellodigua/code996

用途

面试时我们会询问面试官加班情况,但得到的答案有时不那么真实。但是代码的提交时间不会骗人,因此就有了这个工具。

当你入职新公司,跑一下 npx code996,就可以看到数据背后的真相,从而判断这家公司的真实加班文化。

与其痛苦三个月,不如早点看清真相!别等到试用期结束才后悔!

功能特性

  • 📊 996 指数:将复杂的加班情况转化为直观数值,一眼看穿项目卷度
  • 🕰️ 智能工时推演:采用分位数与拐点检测算法,精准还原团队真实的上下班时间窗口
  • 📈 月度趋势追踪:通过趋势识别项目是“越来越卷”还是“趋于平稳”
  • 📅 多维度加班画像:全方位分析,不仅识别工作日/周末加班高峰,还能识别团队成员的加班比例
  • 📦 多仓库横向对比:支持一键扫描并分析文件夹下的多个仓库,自动生成对比
  • 🌍 跨时区检测能力:自动识别时区分布,支持指定时区精准分析
  • 🇨🇳 节假日调休支持:内置国内节假日调休逻辑,精准剔除调休干扰
  • 🔒 隐私安全无忧:纯本地运行,基于 git log 进行离线分析

使用方法

  • 快速开始
    • 无需安装,直接运行:npx code996
    • 全局安装后使用:npm i -g code996,然后运行 code996
  • 智能分析模式
    • 在 Git 仓库中运行 → 单仓库深度分析
    • 目录下有多个仓库 → 自动进入多仓库分析模式
  • 基础命令
    • help:显示帮助信息
  • 时间范围选项
    • -y, --year <year>:指定年份或年份范围(推荐)
    • -s, --since <date>:自定义开始日期 (YYYY-MM-DD)
    • -u, --until <date>:自定义结束日期 (YYYY-MM-DD)
    • --all-time:覆盖整个仓库历史数据
  • 筛选与展示选项
    • -H, --hours <range>:手动指定标准工作时间(例如:9-18 或 9.5-18.5)
    • --half-hour:以半小时粒度展示时间分布(默认按小时展示)
    • --timezone <offset>:指定时区进行分析(例如:+0800、-0700)
    • --cn:强制开启中国节假日调休模式
    • --self:仅统计当前 Git 用户的提交记录
    • --ignore-author <regex>:排除匹配特定正则表达式的作者
    • --ignore-msg <regex>:排除 Commit Message 中包含特定关键词的提交

使用示例

  • 单仓库分析
    • code996:分析当前仓库(最近一年)
    • code996 -y 2025:分析2025年
    • code996 --all-time:查询整个仓库历史
    • code996 --self:只分析当前用户的提交
  • 多仓库分析
    • code996 /path/proj1 /path/proj2:传入多个路径,自动分析多个仓库
    • code996 /workspace -y 2025:分析2025年的数据和趋势
  • 精细分析
    • code996 --half-hour:以半小时粒度展示时间分布
  • 跨时区项目分析
    • code996 --timezone="+0800":只分析东八区(中国)的提交
  • 中国节假日调休分析
    • code996 --cn:手动强制开启节假日调休模式
  • 过滤噪音数据
    • code996 --ignore-author "bot|jenkins|github-actions":排除多个作者
    • code996 --ignore-msg "^Merge|lint|format":排除多个关键词

工作原理

  • 使用 git-log 获取项目 commit 的相关数据
  • 本地计算分析,并打印出展示结果

【声明】内容源于网络
0
0
github淘金
打破信息差,不为免费而付费。关注我,每日分享各种有趣,实用的开源项目。
内容 1994
粉丝 0
github淘金 打破信息差,不为免费而付费。关注我,每日分享各种有趣,实用的开源项目。
总阅读438
粉丝0
内容2.0k