Gitaura
A simple commit visualization and repo analysis tool for git
pip install gitaura Overview
gitaura is a Python utility that uses git log to produce bar-graph
visualizations of commit activity. It also provides file analysis (churn,
hotspots, refactor density), branch insights (divergence, lifetime, merges),
and a "where do I work most?" directory map. Weekend commits are highlighted
in blue in the default view. Licensed under the MIT License.
python gitaura.py [options]
# or, if installed
gitaura [options] Default: commit bars
With no extra flags, gitaura shows a bar graph of commits grouped by period (default: month). Each bar length is proportional to the number of commits, normalized within the visible range.
Global options
These options apply to the default view and many other commands.
-p, --periodicity- Group by day, week, month, or year. Default: month.
-u, --author- Filter by author email (substring match).
-a, --after- Only include commits after this date (yyyy-mm-dd hh:mm).
-b, --before- Only include commits before this date (yyyy-mm-dd hh:mm).
-r, --reverse- Reverse the date order in the output.
-f, --fill- Fill missing dates with zero-commit bars on the graph.
--main- Specify the main branch for divergence/lifetime/merge-timeline. Default: main or master.
File analysis
File type breakdown (--files)
Shows file changes by type (JS, TS, MD, etc.) as percentages with a bar visualization. Counts each file mention per commit in the history.
gitaura --files
gitaura --files -a "2024-01-01" -u "alice" File churn (--churn)
Ranks files by total lines changed (adds + dels). Shows the most frequently modified files.
gitaura --churn Hotspots (--hotspots)
Detects files with high churn and many contributors — likely areas
of shared or contentious work. Use --min-churn to set the minimum
churn (default: 50).
gitaura --hotspots
gitaura --hotspots --min-churn 100 Refactor density (--refactor)
Estimates refactoring by treating balanced add/delete pairs as refactor-like changes. Reports an overall repo percentage and per-file density.
gitaura --refactor Branch features
Active branches (--branches)
Lists branches ranked by most recent commit (e.g. "today", "3 days ago").
gitaura --branches Stale branches (--stale)
Shows branches with no commits in the last N days. Use --stale-days (default: 30).
gitaura --stale
gitaura --stale --stale-days 60 Branch divergence (--divergence)
Shows ahead/behind counts for each branch vs main.
gitaura --divergence
gitaura --divergence --main develop Branch lifetime (--branch-lifetime)
Shows how long each merged branch lived (creation → merge).
gitaura --branch-lifetime Merge timeline (--merges)
Merge frequency over time (grouped by period).
gitaura --merges -p week Merge events (--merge-timeline)
Chronological list of merge events (date + branch name).
gitaura --merge-timeline Compare branches (--compare A B)
Compares two branches: unique commits, files changed, lines added/deleted, authors.
gitaura --compare main feature-x Work map (--work-map)
"Where do I work most?" — directory breakdown by commit activity and churn. Shows which folders you touch most often.
gitaura --work-map
gitaura --work-map -u "me@example.com" Quick reference
| Flag | Description |
|---|---|
-p day|week|month|year | Group by period |
-u <author> | Filter by author |
-a <date> | Commits after date |
-b <date> | Commits before date |
--files | File type breakdown |
--churn | Most modified files |
--hotspots | High churn + many contributors |
--refactor | Refactor density estimate |
--min-churn N | Min churn for hotspots (default: 50) |
--branches | Active branches by recency |
--stale | Stale branches (no commits in N days) |
--stale-days N | Stale threshold (default: 30) |
--divergence | Ahead/behind vs main |
--branch-lifetime | Branch creation → merge duration |
--merges | Merge frequency timeline |
--merge-timeline | Chronological merge events |
--compare A B | Compare two branches |
--work-map | Directory activity map |
--main <branch> | Main branch for divergence/lifetime |