Skip to content

tt-git

A terminal git client with a GitLens-style commit graph, a lazygit-style status pane and plugins built like herdr's.
tt-git on a web project: the commit graph on top, the status pane and the branch list below

A commit graph as the main view

Every branch, remote and tag in one git log --all graph with stable, colored lanes. Branches run straight down instead of shifting sideways. Filter it to one author or one file or folder.

Stage by file, hunk or line

Stage, unstage, discard, commit, amend and stash from the status pane. Open a file to stage its changes a hunk or a single line at a time.

One list for all branches

Local and remote branches share a row, sorted by when you last touched them. A status column tells you what’s been pushed, what’s behind and what’s gone upstream.

Merged, unmerged, tags and stashes

See which branches are merged into your main branch, how far each release tag is from it, and every stash, each on its own tab.

Plugins built like herdr's

Plugins are plain programs with a TOML manifest. They add actions, react to events, open terminal panes inside tt-git and talk back through the CLI or a JSON socket.

Light enough to leave open

It redraws only when something changes and runs no git processes at idle. With a 28,000-commit repository open, it uses about 30 MiB.