Git Reports π
Visualize Git Repository Activity Like Never Before!
Git Reports is a command-line tool written in Go that helps you analyze and visualize key metrics from your Git repositories. Whether you're a developer, team lead, or open-source maintainer, this tool provides actionable insights into commit patterns, developer activity, and more.
Sample Output






β¨ Features
- Heatmap of Commits: Visualize commit activity over time.
- Commits Per Developer: See how much each contributor has contributed.
- Commits Per Hour: Analyze productivity patterns throughout the day.
- Merge Commits Per Year: Track merge activity trends over the years.
- File Type Analysis: Understand which file types are most frequently changed.
- Date Range Filtering: Analyze commits within a specific date range.
- HTML Output: Generate reports in HTML format for easy sharing.
π οΈ Installation
Option 1: Download Pre-built Binaries
- Visit the releases page
- Download the appropriate binary for your operating system (Windows, macOS, or Linux)
- Make the binary executable (on Unix-like systems):
chmod +x git-reports
- Run the tool:
./git-reports
Option 2: Build from Source
- Make sure you have Go installed (version 1.16 or higher).
- Clone this repository:
git clone git@github.com:k1-end/git-reports.git
- Build the project:
cd git-reports
go build -o git-reports
- Run the tool:
./git-reports
π Usage
Basic Usage
To generate reports for a Git repository, simply run:
./git-reports
By default, it will analyze the current directory.
Specify Repository Path
To analyze a specific Git repository, use the --path
flag:
./git-reports --path /path/to/your/git/repo
You can choose between console (default) and HTML output using the --printer
flag:
./git-reports --printer html
Save Output to File
To save the report to a file, use the --output
flag:
./git-reports --output report.html
Filter by Developer
To analyze commits by a specific developer, use the --dev
flag:
./git-reports --dev developer@example.com
Filter by Date Range
To analyze commits within a specific date range, use the --from
and --to
flags (format: YYYY-MM-DD
):
./git-reports --from 2023-01-01 --to 2023-12-31
Combine Options
You can combine multiple options:
./git-reports --path /path/to/repo --dev developer@example.com --from 2023-01-01 --to 2023-12-31 --printer html --output report.html
Check Version
To check the version of Git Reports:
./git-reports --version
In case you want to use the console printer with a pager, you can use the less
command with -R option to allow ANSI colors:
./git-reports --printer console | less -R
π§βπ» Why Use Git Reports?
- Insightful Metrics: Gain a deeper understanding of your repository's activity.
- Easy to Use: Simple CLI interface with no dependencies other than Go.
- Customizable: Filter reports by developer, time, or file type.
- Date Range Filtering: Analyze commits within specific time periods.
- Open Source: Free to use, modify, and contribute to.
π€ Contributing
We welcome contributions! If you'd like to improve Git Reports, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
).
- Commit your changes (
git commit -m 'Add some feature'
).
- Push to the branch (
git push origin feature/your-feature
).
- Open a pull request.
π License
This project is licensed under the MIT License. See the LICENSE file for details.
β Star This Project
If you find Git Reports useful, please consider giving it a star on GitHub! Your support helps us grow and improve the tool.

Made with β€οΈ by [K1-end]. Happy coding! π