Command line · Git history

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 works
Git history graph visualization a1b2c3d 8f4e2a1 9d7c3f1 · here HEAD feature 6c8a2b1

How it works

Three commands. That is the whole interface.

1

Visualize history

lattice log renders your history as a graph. Branches, merges, and dangling commits all appear in place, exactly as git records them.

2

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.

3

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.

macOS (Homebrew)
$ brew install lattice
Linux (apt)
$ sudo apt install lattice
From source
$ go install github.com/lattice/cli@latest

Or download the static binary from the releases page.