A fast, lightweight, keyboard-first terminal-based Git history explorer designed to make complex Git repositories easy to understand.
- Native terminal UI built with
ratatuiandcrossterm. - Animated Loading Screen inspired by Loom, featuring a smooth and minimal loading experience.
- Beautiful graph rendering with per-lane colored glyphs, diagonal and corner connectors for branches and merges, all drawn in a strict 1-row-per-commit layout.
- Keyboard-driven navigation across commits, views, and search results, with a
?overlay that documents every binding. - Inline ref badges next to each commit summary — branches, remote branches, and tags color-coded at a glance.
- Conventional-commit prefix coloring for
feat,fix,docs,chore,refactor, andtestcommits. - Commit activity minimap — a per-row sparkline derived from each commit's insertions and deletions.
- Detailed views for commit details, changed files, diffs, and branches & tags, fetched on a background thread so a large commit never stalls the UI.
- Single-path file history — scope the graph to one file and walk only the commits that changed it.
- Incremental search over commit summaries, authors, and OIDs.
- Copy a commit hash with
y, using OSC 52 so it works over SSH too. - Unbounded HEAD history — commit history loads a page at a time and keeps loading automatically as you scroll, instead of stopping at a fixed commit ceiling.
The latest release has
archives for Linux (x86_64), Windows (x86_64) and macOS (Apple Silicon and
Intel). Unpack one and put gitloom somewhere on your PATH:
tar xzf gitloom-v0.1.0-x86_64-unknown-linux-gnu.tar.gz
sudo install gitloom-v0.1.0-x86_64-unknown-linux-gnu/gitloom /usr/local/bin/On Windows, unzip the archive and either add that folder to your PATH or run
gitloom.exe from where it landed.
The macOS binaries aren't signed or notarized, so the first run is blocked until you clear the quarantine flag your browser attached to the download:
xattr -d com.apple.quarantine ./gitloomEvery release ships a SHA256SUMS file alongside the archives. Check it with
sha256sum -c --ignore-missing SHA256SUMS on Linux, shasum -a 256 on macOS, or
Get-FileHash <archive> -Algorithm SHA256 in PowerShell.
cargo install gitloom-tuiNeeds Rust 1.88 or newer: GitLoom is on edition 2024 and the event loop uses let-chains. libgit2 is compiled as part of the build, so a working C compiler is required too but nothing else, since GitLoom pulls in no OpenSSL dependency.
git clone https://github.com/greenbugx/GitLoom.git
cd GitLoom
cargo install --path .Or cargo build --release and run target/release/gitloom where it is.
gitloom [path-to-repo]If no path is given, GitLoom opens the current directory; any directory inside a
working tree will do. --help and --version print and exit without opening the
TUI.
Working on GitLoom itself, without installing it: cargo run -- [path-to-repo].
Press ? inside GitLoom for this same table. src/ui/help.rs is the source of
truth for both.
| Key | Action |
|---|---|
j/k, ↓/↑ |
Down / up — moves the selection, or scrolls a pane |
J/K |
Next / previous commit, keeping the open pane in step |
g/G, Home/End |
Top / bottom of the focused pane |
PgUp/PgDn |
Move by a screenful |
h/l, ←/→ |
Scroll a wide pane left / right |
Enter |
Show commit details |
f |
Show changed files |
d |
Show diff |
b |
Show branches & tags |
l in the files pane |
History of the selected file |
/ |
Search summaries, authors, and OIDs |
n/N |
Next / previous search match |
y |
Copy the selected commit's full hash |
? |
Toggle the keymap overlay |
Esc |
Close the current view, or leave a file's history |
q |
Quit |
Check MIT for license info.