Navigate history like a map.
Lattice turns your repository's history into a traversable graph. Walk commits, inspect merges, and switch branches from the terminal — no GUI, no round trips, just your history laid out.
Install Lattice How it worksHow it works
Three commands. That is the whole interface.
Visualize history
lattice log renders your history as a graph. Branches, merges, and dangling commits all appear in place, exactly as git records them.
Walk the tree
lattice walk lets you move between commits like a file system — jump forward, backward, or sideways across branches without checking anything out.
Branch & merge
Create, switch, and merge branches in the terminal. Lattice shows the diff surface as you move, so you always know what you're bringing in.
What it does
Git history is a graph, not a list. Lattice treats it as one.
Graph-first
History is a graph, not a list. Lattice renders the shape of your repo so you can see where branches diverge and merge at a glance.
Instant
No index to build, no network, no heavy runner. Lattice reads the git database directly and renders in milliseconds.
Composable
Output pipes to your favorite tools. Filter, format, or script your history however you like.
Branch aware
Merges, rebases, fast-forwards, and dangling commits all render correctly — nothing is hidden or flattened.
See it in action
A typical session — reading history, walking between commits, switching branches.
$ lattice log --graph main
* 3a7f1e2 Merge pull request #42
|\
| * 2b9c0d4 Add auth middleware
| |
| | * 1e8a3b3 Refactor data layer
| |/
| * 5f4d2a1 Fix lint failures
* 0c4a8e9 Initial commit
$ lattice walk 3a7f1e2
→ now at 3a7f1e2 Merge pull request #42
$ lattice up
→ 1e8a3b3 Refactor data layer
$ lattice branch feat/sso
→ switched to feat/sso
$
Install
Lattice is a single static binary. Pick your package manager.
$ brew install lattice
$ sudo apt install lattice
$ go install github.com/lattice/cli@latest
Or download the static binary from the releases page.