# git-counter **Repository Path**: binbin0915_admin/git-counter ## Basic Information - **Project Name**: git-counter - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-11-06 - **Last Updated**: 2025-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📊 Git 代码统计工具
**一个功能强大、简单易用的 Git 代码贡献统计工具** [![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/downloads/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg)](https://github.com) [功能特性](#-核心特性) • [快速开始](#-快速开始) • [使用场景](#-使用场景) • [功能演示](#-功能演示) • [文档](#-文档)
--- ## 🎯 解决的痛点 在实际开发中,你是否遇到过这些问题? - ❓ **绩效考核**:需要统计个人或团队的代码贡献量,证明工作成果 - ❓ **项目评估**:想知道每个开发者在项目中的真实贡献比例 - ❓ **代码审查**:需要快速了解某个开发者写了多少代码,质量如何 - ❓ **多账户管理**:同一个人使用不同的 Git 账户提交,统计分散 - ❓ **报告生成**:需要生成专业的统计报告给领导或客户 - ❓ **代码质量**:想知道代码是一次成型还是经历了大量重构 **本工具一站式解决以上所有问题!** 🎉 --- ## ✨ 核心特性 ### 🖥️ 双模式支持 - **GUI 图形界面** - 点点鼠标就能用,零门槛(推荐) - **命令行模式** - 适合自动化脚本和批处理 ### 👥 灵活的用户配置 - **自动检测** - 读取仓库本地 Git 配置 - **手动指定** - 支持指定任意用户名/邮箱 - **多账户统计** - 一次性统计多个账户(团队协作必备) - **分账户模式** - 每个账户单独统计,自动对比贡献 ### 📈 双重统计维度 1. **累计工作量** - 基于 `git diff`,统计历史提交的代码变更量 2. **当前代码量** - 基于 `git blame`,统计当前仓库中你真正拥有的代码行数 3. **工作效率比** - 自动计算 `累计工作量 / 当前代码量`,评估代码质量 > **效率比解读:** > - **> 150%**: 经历大量重构和优化(高质量) > - **110-150%**: 适度重构,代码稳定 > - **90-110%**: 一次成型,修改少 > - **< 90%**: 可能改写了很多别人的代码 ### 🎨 精美的报告导出 - **HTML 报告** - 可视化图表(饼图、对比表),专业美观 - **Excel 报告** - 多工作表(汇总、详情、分账户、对比),数据详尽 - **文本报告** - 控制台直接查看,快速预览 ### 🧠 智能分析 - **自动排除注释** - 支持 20+ 种编程语言的注释语法 - **前后端分类** - 自动识别文件类型(前端/后端/其他) - **文件级统计** - 每个文件的详细代码量、排行榜 - **智能缓存** - 统计结果自动缓存,大幅提升二次分析速度 ### ⚡ 性能优化 - **增量分析** - 缓存机制,避免重复统计 - **多线程 GUI** - 统计时界面不卡顿 - **智能验证** - 自动检测仓库变化,缓存失效自动提示 --- ## 🚀 快速开始 ### 方式一:使用打包好的 EXE(推荐,无需 Python 环境) 1. 下载 [最新版本](https://github.com/你的用户名/git-counter/releases) 2. 双击 `Git代码统计工具.exe` 3. 选择仓库 → 开始统计 → 导出报告 **就是这么简单!** 🎉 ### 方式二:从源码运行 **1. 克隆仓库** ```bash git clone https://github.com/你的用户名/git-counter.git cd git-counter ``` **2. 安装依赖** ```bash # 推荐使用虚拟环境 python -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows # 安装依赖 pip install -r requirements.txt ``` **3. 启动工具** ```bash # GUI 版本(推荐) python git_counter_gui.py # 命令行版本 python git_counter.py /path/to/your/repo ``` --- ## 💡 使用场景 ### 场景 1️⃣:个人绩效统计 **问题**:年终考核,需要证明自己这一年的代码贡献量 **解决方案**: 1. 打开工具,选择公司项目仓库 2. 确认自动检测的账户正确(或手动输入) 3. 点击"开始统计" 4. 导出 **HTML 报告**,附在绩效邮件中 ✅ **结果**:一份专业的可视化报告,清晰展示代码量、前后端占比、文件贡献 TOP 10 --- ### 场景 2️⃣:团队贡献对比 **问题**:项目经理想知道团队每个人的贡献比例 **解决方案**: 1. 手动输入所有团队成员的 Git 账户(用逗号分隔) 2. 选择 **"详细模式"** 3. 点击"开始统计" 4. 导出 **Excel 报告**,查看"对比"工作表 ✅ **结果**:一张对比表 + 饼图,直观展示每个人的贡献占比 --- ### 场景 3️⃣:代码质量评估 **问题**:想知道代码是否经历了大量重构,质量如何 **解决方案**: 1. 统计完成后,查看 **"工作效率比"** 2. 比对"累计工作量"和"当前代码量" **解读**: - 效率比 **200%**:累计写了 20000 行,但当前只有 10000 行 → 经历了大量优化重构 🎖️ - 效率比 **100%**:累计写了 10000 行,当前也是 10000 行 → 一次成型,很稳定 👍 - 效率比 **50%**:累计写了 5000 行,但当前拥有 10000 行 → 可能改写了别人的代码 🤔 --- ### 场景 4️⃣:多账户合并统计 **问题**:同一个人使用了多个 Git 账户(公司邮箱 + 个人邮箱),统计分散 **解决方案**: 1. 在"用户名"输入框输入:`zhangsan, zhang.san` 2. 在"邮箱"输入框输入:`zhangsan@company.com, zhangsan@gmail.com` 3. 选择 **"汇总模式"**(合并统计) 4. 点击"开始统计" ✅ **结果**:所有账户的代码量自动合并,统一统计 --- ## 📸 功能演示 ### GUI 主界面 ``` ┌─────────────────────────────────────────┐ │ 📊 Git 代码统计工具 │ ├─────────────────────────────────────────┤ │ 📁 选择 Git 仓库 │ │ [浏览...] D:\projects\my-project │ │ │ │ 👤 Git 用户信息 │ │ 检测到: 张三 │ │ │ │ 🔧 用户配置(可选) │ │ 用户名: [zhangsan, lisi] │ │ 邮 箱: [zhangsan@company.com] │ │ 统计模式: ⚪ 汇总统计 🔘 详细模式 │ │ │ │ 📦 缓存状态 │ │ ✓ 发现可用缓存(23 分钟前) │ │ [从缓存加载] [清理所有缓存] │ │ │ │ [🚀 开始统计] │ │ │ │ 📊 统计结果 │ │ 前端: 12,543 行 | 后端: 23,867 行 │ │ 当前拥有: 30,120 行 | 效率比: 121% │ │ │ │ [导出 HTML] [导出 Excel] │ └─────────────────────────────────────────┘ ``` ### HTML 报告示例 - **汇总卡片**: 总代码行数、前后端占比、工作效率比 - **详细统计**: 新增行数、删除行数、当前拥有行数 - **文件 TOP 10**: 贡献最多的文件列表 - **多账户对比**: 饼图 + 对比表(详细模式) --- ## 📚 文档 - [📖 使用指南](使用指南.md) - 详细的功能说明和操作步骤 - [🔧 开发文档](开发文档.md) - 技术实现原理和代码结构 - [📐 统计原理](STATISTICS_PRINCIPLE.md) - Git diff 和 blame 的统计逻辑 - [💾 EXE 使用说明](EXE使用说明.md) - 打包版本的使用指南 --- ## 🛠️ 技术栈 - **核心**: Python 3.7+ - **GUI**: Tkinter(标准库,无需额外安装) - **Git 操作**: GitPython - **Excel 导出**: openpyxl - **打包工具**: PyInstaller --- ## 📦 打包为 EXE 如果你想自己打包: ```bash # 确保在虚拟环境中 .\build.bat ``` 生成的 EXE 位于 `dist/Git代码统计工具.exe`,可以在任何 Windows 10+ 电脑上直接运行,无需 Python 环境。 --- ## 🤝 贡献指南 欢迎贡献代码、报告 Bug、提出建议! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交修改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request --- ## 📝 更新日志 ### v2.3.0 (2025-11-03) - ✨ 新增:缓存机制,大幅提升统计速度 - ✨ 新增:缓存智能验证(检测新提交、分支切换等) - 🐛 修复:打包 EXE 时依赖缺失问题 - 🔧 优化:缓存目录移至用户主目录,支持跨目录访问 ### v2.2.0 (2025-10-28) - ✨ 新增:多账户统计功能 - ✨ 新增:详细模式(分账户统计 + 对比) - ✨ 新增:HTML 报告支持多账户对比(饼图 + 表格) - ✨ 新增:Excel 多工作表导出(汇总、文件、分账户、对比) - 🗑️ 移除:CSV 导出(Excel 已足够) ### v2.1.0 (2025-10-20) - ✨ 新增:当前代码量统计(基于 git blame) - ✨ 新增:工作效率比计算 - 🔧 优化:HTML 报告新增效率比展示 ### v2.0.0 (2025-10-15) - ✨ 新增:GUI 图形界面 - ✨ 新增:手动指定用户功能 - 🔧 优化:支持只配置用户名或只配置邮箱 - 🐛 修复:GitLab 私有部署兼容性问题 ### v1.0.0 (2025-10-01) - 🎉 首次发布 - ✅ 命令行版本 - ✅ HTML/Excel/CSV 导出 - ✅ 前后端分类 - ✅ 自动排除注释 --- ## ⭐ Star History 如果这个工具对你有帮助,请给个 Star ⭐ 支持一下! [![Star History Chart](https://api.star-history.com/svg?repos=你的用户名/git-counter&type=Date)](https://star-history.com/#你的用户名/git-counter&Date) --- ## 📄 许可证 [MIT License](LICENSE) © 2025 --- ## 🙏 致谢 感谢所有使用本工具并提供反馈的开发者! ---
**如果觉得不错,请点个 Star ⭐** ![输入图片说明](image.png)