An IntelliJ plugin that provides comprehensive Git commit statistics and real-time analysis for your projects.
GitCommitStats offers powerful tools to analyze your Git commit history and track uncommitted changes in real-time.
- Summary Statistics: View total commits, files changed (modified/added/deleted), and lines changed at a glance
- Detailed Commit List: Browse commits with sortable columns including:
- Commit hash (short form)
- Author name and email
- Date and time
- Commit message
- File count and line changes
- Quick Navigation: Double-click any commit to instantly open it in IDEA's VCS Log window with the diff view automatically displayed
- File Hotspot Analysis: New dedicated tab showing your top 10 most frequently modified files
- Displays modification count and total lines changed per file
- Helps identify code hotspots and potential problem areas
- Double-click any hotspot file to filter and view all commits that modified it
- Large Commit Detection: Visual warnings for commits exceeding 500 lines
- Yellow background highlighting in commit table
- Warning icon with explanatory tooltip
- Smart commit size management encourages better practices
- Real-time Statistics: See file and line change counts update instantly as you select or deselect files in the commit dialog
- File Change Tracking: Track modified, added, and deleted files with accurate counts
- Line Change Analysis: View additions (+) and deletions (-) across all selected changes
- Binary File Detection: Automatically identifies and counts binary files separately
- Large Commit Warning: Optional check in the Commit Checks panel
- Validates commit size before committing (threshold: 500 lines)
- Shows confirmation dialog explaining why large commits should be avoided
- Helps maintain code review quality and Git history readability
- Can be enabled/disabled via checkbox in commit panel
Compatible with IntelliJ 2025.3+.
-
Using the IDE built-in plugin system:
Settings/Preferences > Plugins > Marketplace > Search for "git-commit-stats" > Install
-
Using JetBrains Marketplace:
Go to JetBrains Marketplace and install it by clicking the Install to ... button in case your IDE is running.
You can also download the latest release from JetBrains Marketplace and install it manually using Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...
-
Manually:
Download the latest release and install it manually using Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...
-
Open the Tool Window: Find "GitCommitStats" in the bottom tool window bar, or use View > Tool Windows > GitCommitStats
-
Filter by Author:
- Click the author dropdown or start typing to search
- Supports partial matching (e.g., typing "john" matches "John Doe", "johnny@example.com")
- Press Enter or select from the filtered dropdown to apply
-
Filter by Date Range:
- Use quick buttons: Today, Last 7 days, Last 30 days, Last 90 days
- Or manually enter custom dates in the format
yyyy-MM-dd - Click "Refresh" to apply custom date ranges
-
View Statistics:
- Summary Panel: See total commits, files changed, and lines modified
- Commit List: Browse detailed commit information with sortable columns
- Click column headers to sort by hash, date, message, files, or lines
-
Navigate to Commits:
- Double-click any commit row in the commit list
- The VCS Log window will automatically open with the diff view displayed
- The commit will be highlighted with a hash filter applied for easy identification
-
Analyze File Hotspots:
- Switch to the "File Hotspots" tab to see your most frequently modified files
- The list shows modification count and total lines changed
- Double-click any file to switch back to the Commits tab with a filtered view
- The Commits tab will show only commits that modified the selected file
- Useful for identifying problem areas or files that need refactoring
-
Identify Large Commits:
- Large commits (>500 lines) are highlighted with a yellow background
- Hover over the warning icon in the Lines column to see the explanation
- Consider splitting large commits into smaller, focused changes for better code review
-
Auto-refresh: Enable/disable the "Auto-refresh" checkbox to control automatic updates when filters change
-
Open the Commit Dialog: Use Ctrl+K (Windows/Linux) or ⌘K (macOS) to open the commit dialog, or click the commit button in the toolbar
-
View Statistics: Look at the bottom status bar. When the commit dialog is open, you'll see a widget displaying:
- File count (e.g., "3 files")
- Line changes (e.g., "+42/-15")
- A modification icon to indicate active changes
-
Interactive Updates: As you select or deselect files in the commit dialog, the statistics update automatically to reflect only the selected changes
-
Detailed Breakdown: Hover over the status bar widget to see a tooltip with detailed information:
- Number of modified files
- Number of added files
- Number of deleted files
- Number of binary files
- Total lines added
- Total lines deleted
-
Stay Informed: Use these statistics to ensure your commits are appropriately scoped and organized
-
Enable Large Commit Check:
- In the commit panel, look for "Commit Checks" section
- Check the box "Check for large commits (>500 lines)"
- This check is enabled by default to encourage best practices
-
Commit with Check Enabled:
- If your commit exceeds 500 lines, a warning dialog will appear
- The dialog shows the total line count and explains why large commits should be avoided
- Choose "Proceed Anyway" to continue or "Cancel" to revise your commit
-
Disable When Needed:
- Uncheck the box to skip the large commit check
- Useful for intentional large commits (e.g., initial imports, major refactorings)
1 file, +10/-2- Single file with 10 additions and 2 deletions5 files, +150/-80- Multiple files with line change summary3 files- Files with no text changes (e.g., binary files only)
The plugin computes statistics dynamically as you interact with the commit dialog. Select or deselect files, and watch the numbers update instantly.
Using IntelliJ's built-in diff engine, the plugin provides accurate line-by-line change analysis, respecting the same comparison rules as the IDE's diff viewer.
- Async Computation: Statistics are calculated in background threads to keep the UI responsive
- Smart Debouncing: Rapid selection changes are intelligently batched to prevent unnecessary recalculations
- Graceful Degradation: For extremely large diffs, the plugin shows file counts while skipping detailed line analysis
The plugin works with any version control system supported by IntelliJ IDEA, including:
- Git
- Subversion (SVN)
- Mercurial
- Perforce
- And any other VCS with IntelliJ support
For development information, build commands, and architecture details, see CLAUDE.md.
This plugin is based on the IntelliJ Platform Plugin Template.
If you encounter any issues or have feature requests, please visit the GitHub Issues page.
Plugin based on the IntelliJ Platform Plugin Template.