gankudadiz/commit-stats-reporter
🚀 An elegant CLI tool for generating Git/SVN code commit statistics in HTML/Excel. | 一键统计生成美观的 Git/SVN 代码行数与工作量报告
代码统计工具 (Code Statistics Tool)
用于高效统计 Git/SVN 项目代码改动行数,一键生成可视化 HTML 与 Excel 报告 🚀
💎 演示效果 / Showcase
✨ 点击展开查看更多功能演示 / Click to expand more screenshots ✨
📑 Excel 详尽数据报表
按项目、多维度聚合的开发者数据输出,方便二次加工或直接汇报。
💻 友好的终端交互体验
智能引导式菜单,支持自由选择项目与统计时间方位,简单易用。
简体中文
用于统计 Git/SVN 项目的代码改动行数,生成 Excel 和 HTML 报告,方便记录日常工作内容。
功能特性
- 多语言支持:原生支持中文、英文、日文三种语言(界面与生成报告均可配置)。
- 多版本控制:支持 Git 和 SVN 两种版本控制系统。
- 灵活配置:交互式选择项目和日期范围,同一项目支持 Git/SVN 分别统计。
- 详尽统计:统计每个项目的提交次数、代码行数(新增/删除/净增)。
- 专业报告:生成详细的 Excel 表格报告及可视化的 HTML 报告(可直接截图发给经理)。
项目结构
代码统计工具/
├── stats.py # 主程序
├── config.py # 配置文件(项目路径列表)
├── i18n.py # 国际化模块
├── git_stats.py # Git统计模块
├── svn_stats.py # SVN统计模块
├── excel_generator.py # Excel生成模块
├── html_generator.py # HTML报告生成模块
├── requirements.txt # Python依赖
└── output/ # 输出目录
安装
- 确保已安装 Python 3.7+
- 安装依赖:
pip install -r requirements.txt配置
编辑 config.py 文件(若无则依据 config.example.py 复制一份),添加需要统计的项目并配置期望的语言:
# 语言配置: 'zh' (中文), 'en' (英文), 'ja' (日文)
LANGUAGE = "zh"
PROJECTS = [
# Git 项目
{"name": "ISMS", "path": "D:\\www\\ISMS", "type": "git"},
# SVN 项目
{"name": "项目A", "path": "D:\\www\\project_a", "type": "svn"},
]
# 自定义作者名配置 (统一报告中作者显示的名称,留空则为真实名字)
AUTHOR_NAME = "zhangsan"快速启动(推荐)
直接双击项目根目录下的 start.bat 即可一键启动,脚本会自动检查并安装 Python 及依赖。
使用方法 (命令行模式)
python stats.py # 交互式模式
python stats.py -p "ISMS" # 统计指定项目
python stats.py -p "ISMS,项目A" # 指定多个项目
python stats.py -d 2024-01-01:2024-12-31 # 指定日期范围
python stats.py -o output/ # 指定输出目录
python stats.py --no-html # 不生成 HTML
python stats.py --no-excel # 不生成 Excel注意事项
- 确保项目路径正确且版本控制系统可用
- Git 仓库需要
.git目录存在 - SVN 仓库需要
.svn目录存在 - 首次使用建议先用一个项目测试
English
A tool used to count the lines of code changes in Git/SVN projects, generating Excel and HTML reports, making it convenient to record daily work content.
Features
- Multi-language Support: Native support for Chinese, English, and Japanese (configurable in UI & reports).
- VCS Support: Supports both Git and SVN version control systems.
- Flexible Config: Interactive selection of projects and date ranges. Supports Git/SVN statistics for the same project.
- Detailed Stats: Counts the number of commits and lines of code for each project (Insertions/Deletions/Net).
- Professional Reports: Generates detailed Excel tables and visual HTML reports (ready for screenshotting to managers).
Project Structure
Code Statistics Tool/
├── stats.py # Main Program
├── config.py # Config File (Array of paths)
├── i18n.py # I18n Module
├── git_stats.py # Git Stats Module
├── svn_stats.py # SVN Stats Module
├── excel_generator.py # Excel Generator
├── html_generator.py # HTML Report Generator
├── requirements.txt # Python Dependencies
└── output/ # Output Directory
Installation
- Ensure Python 3.7+ is installed.
- Install dependencies:
pip install -r requirements.txtConfiguration
Edit the config.py file (copy from config.example.py if not exists), add the projects to be analyzed, and configure your preferred language:
# Language settings: 'zh' (Chinese), 'en' (English), 'ja' (Japanese)
LANGUAGE = "en"
PROJECTS = [
# Git Project
{"name": "ISMS", "path": "D:\\www\\ISMS", "type": "git"},
# SVN Project
{"name": "ProjectA", "path": "D:\\www\\project_a", "type": "svn"},
]
# Custom Author Config (Overwrites the author's display name, leave blank for real names)
AUTHOR_NAME = "John Doe"Quick Start (Recommended)
Simply double-click start.bat in the root directory. The script will automatically check for and install Python and dependencies.
Usage (Command Line)
python stats.py # Interactive mode
python stats.py -p "ISMS" # Analyze specific project
python stats.py -p "ISMS,ProjectA" # Analyze multiple projects
python stats.py -d 2024-01-01:2024-12-31 # Specific date range
python stats.py -o output/ # Specific output directory
python stats.py --no-html # Skip HTML generation
python stats.py --no-excel # Skip Excel generationNotes
- Ensure project paths are correct and VCS commands are available in your environment.
- Git repositories must contain a
.gitdirectory. - SVN repositories must contain a
.svndirectory. - Test with one project to verify functionality during your first run.
日本語
Git/SVN プロジェクトのコード変更行数をカウントし、Excel や HTML のレポートを生成して、日々の作業内容を記録するためのツールです。
特徴
- 多言語サポート: 中国語、英語、日本語をネイティブサポート(UIおよびレポートで構成可能)。
- 複数バージョン管理: Git と SVN の両方のバージョン管理システムをサポート。
- 柔軟な構成: プロジェクトと日付範囲を対話式で選択可能。同じプロジェクトで Git/SVN の個別統計をサポート。
- 詳細な統計: 各プロジェクトのコミット数とコード行数(追加/削除/純増)をカウントします。
- プロフェッショナルなレポート: 詳細な Excel テーブルと視覚的な HTML レポートを生成します(そのままマネージャーにスクリーンショットとして送信可能)。
プロジェクト構造
コード統計ツール/
├── stats.py # メインプログラム
├── config.py # 設定ファイル (プロジェクトパスリスト)
├── i18n.py # 国際化モジュール
├── git_stats.py # Git 統計モジュール
├── svn_stats.py # SVN 統計モジュール
├── excel_generator.py # Excel 生成モジュール
├── html_generator.py # HTML レポート生成モジュール
├── requirements.txt # Python 依存関係
└── output/ # 出力ディレクトリ
インストール
- Python 3.7+ がインストールされていることを確認します。
- 依存関係をインストールします:
pip install -r requirements.txt設定
config.py ファイルを編集し(存在しない場合は config.example.py をコピー)、統計するプロジェクトを追加して、希望する言語を設定します:
# 言語設定: 'zh' (中国語), 'en' (英語), 'ja' (日本語)
LANGUAGE = "ja"
PROJECTS = [
# Git プロジェクト
{"name": "ISMS", "path": "D:\\www\\ISMS", "type": "git"},
# SVN プロジェクト
{"name": "ProjectA", "path": "D:\\www\\project_a", "type": "svn"},
]
# カスタム作成者名の構成 (レポートで一律の表示名、空白の場合は元の名前を使用)
AUTHOR_NAME = "山田太郎"クイックスタート(推奨)
ルートディレクトリにある start.bat をダブルクリックするだけです。スクリプトが Python と依存関係を自動的にチェックしてインストールします。
使用方法 (コマンドライン)
python stats.py # インタラクティブモード
python stats.py -p "ISMS" # 特定のプロジェクトの統計
python stats.py -p "ISMS,ProjectA" # 複数プロジェクトの指定
python stats.py -d 2024-01-01:2024-12-31 # 特定の期間
python stats.py -o output/ # 出力ディレクトリの指定
python stats.py --no-html # HTML レポートなし
python stats.py --no-excel # Excel レポートなし注意事項
- プロジェクトのパスが正しく、バージョン管理システムが利用可能であることを確認してください。
- Git リポジトリには
.gitディレクトリが存在する必要があります。 - SVN リポジトリには
.svnディレクトリが存在する必要があります。 - 初回使用時は、一つのプロジェクトでテストすることをお勧めします。
许可证 / License / ライセンス
MIT License





