GIT, RECOMPOSED LOCAL-FIRST · OPEN SOURCE

Your history.
Alive.

A git GUI that moves as fast as you think. See every branch, preview every operation, and let the graph respond before git does.

Watch what it can do
01command
to start
0database
or daemon
ways back
via reflog
48 SEC / BUILT IN REMOTION
THE WHOLE STORY →
optimistic
reconciled
COMMIT GRAPHLINKED WORKTREESOPTIMISTIC MUTATIONSSTASH WORKFLOWSTIME MACHINECOMMIT & PUSHAGENT SESSIONSSEMANTIC COMMIT ICONSCI STATUS

01 / WHY INGIT

FEEDBACK WITHOUT THE WAIT

Git has always been a graph.
It’s time it felt like one.

ingit predicts the result of checkout, merge, rebase, cherry-pick, revert, uncommit, and branch moves—then animates the new topology immediately. Real git runs underneath and the view reconciles when it’s done.

LIVE GRAPHon main
Animated ingit commit graphThe graph predicts a checkout by moving the feature branch into the primary lane, then reconciles with git.mainfeat/graph
$ checkout feat/graph RECONCILED
How ingit commit nodes encode lines changedAll nodes have the same outer size. Green fills the left half based on additions and pink fills the right half based on deletions.+3−1Fix empty state+32−6Refine keyboard flow+142−74Add Time Machine+1,840−908Rebuild graph projection

01.5 / READ THE CHANGE

TWO GAUGES. ONE NODE.

See the change
inside.

Every commit node stays the same size. Inside it, the green left half shows additions and the pink right half shows deletions. Each gauge fills upward in proportion to the amount of code changed.

The shared scale uses the loaded history’s 85th-percentile LOC change as “full.” That keeps one giant commit from flattening every other signal; larger values simply cap at the top.

02 / THE MOVES

Seven operations.
Zero guesswork.

These are the real interactions—not mockups. Press play, scrub around, or just scroll and let them unfold.

0107

WIP is welcome

Switch branches

Switch branches with uncommitted work still in flight. ingit handles the transition gracefully, preserving your context while the graph reshapes around the destination branch.

No stash ritual required

0207

See the future first

Preview, then merge

Inspect the merge result in the graph before you commit to it. No more imagining topology from a command line.

0307

History, choreographed

Rebase onto main

Move a branch onto a new base and follow every commit as it finds its new place.

0407

Precise by design

Cherry-pick a commit

Bring one change across branches with full context and an immediate visual confirmation.

0507

Nothing is really lost

Recover with Time Machine

Turn the reflog into a navigable timeline. Restore a deleted branch or rescue a commit without memorizing arcane commands.

0607

Point, name, done

Create a branch

Branch from any commit and keep your mental model anchored to the graph in front of you.

0707

Ref surgery, made visible

Move a branch

Reset or move a branch with the destination, impact, and result all visible in one place.

03 / THE WAY BACK

REFLOG, MADE HUMAN

Lose a commit.
Not your cool.

Time Machine turns every place HEAD has been into a visual recovery path. Deleted branch? Bad reset? Detached experiment? Find it, inspect it, bring it back.

“Where did that commit go?” is now a visual question.

04 / THE WHOLE SYSTEM

A control tower for
your code—and who’s coding it.

Agent sessions

Know what every agent is doing.

See Claude Code and Codex sessions across repos, whether they’re thinking, and the exact terminal or IDE they live in. Click to jump there.

GitHub awareness

Your remote state, on the graph.

Authors and PRs attach to commits. Live CI dots poll until checks settle. Push, fetch, or force-with-lease without changing context.

Working tree

Changes stay close to history.

Stage and unstage files, inspect diffs, stash or discard changes, and see exactly what’s ready to become the next node.

05 / JUST LANDED

The graph grew a
working day.

Everything added since the first version of this page, captured in the real app—not a product mockup.

ingit commit graph with a linked feature worktree labeled on its branch and a worktree switcher in the header
0103

PARALLEL CHECKOUTS, LOCATED

Every worktree.
One graph.

ingit discovers linked worktrees, labels the branches they occupy, and lets you jump between them from the header or the branch itself. Detached worktrees stay visible too.

  • Linked branches
  • Branch-in-use guards
  • Fast switching
ingit with the stash list open on the left and a selected stash detail with apply, drop, parent, and changed files on the right
0203

STASHES, WITHOUT THE BLINDFOLD

Put work aside.
Keep its shape.

Browse stashes in the refs sidebar, inspect every file and diff, jump to the parent commit, then apply or explicitly drop. Safe checkout flows preserve local work and restore it on the other side.

  • Per-file diffs
  • Apply or drop
  • Safe checkout restore
ingit working tree with staged and unstaged files, stash and discard actions, and the commit or commit and push menu
0303

FROM DIFF TO REMOTE

Finish the change.
Stay put.

Stage, unstage, inspect, stash, or discard one file—or everything—with explicit confirmation. Then amend, skip hooks, commit, or commit and push without leaving the graph.

  • Commit & push
  • Per-file discard
  • Stash from changes
A / 04

Commit messages, decoded.

Conventional types and message patterns become semantic icons on the graph. Two dozen built-ins can be reordered, disabled, or replaced with your own regex and SVG in Settings.

B / 04

Humans and PRs, attached.

Commit detail now carries the author’s avatar and direct links to every matching pull request, right beside the CI runs and GitHub commit.

C / 04

Long rebases stay in frame.

Rebase previews now stage the replay beside its target and move the camera to fit the whole operation, so long commit chains remain readable before you confirm.

D / 04

Native on your machine.

The CLI now ships across Linux, macOS, and Windows, and repeated launches reuse the running ingit instance instead of multiplying local servers.

06 / NO MAGIC TRICKS

Plain git.
Beautifully projected.

No database. No daemon. Everything ingit shows is derived from your repository, and every action is a git command you could have typed.

SOURCEYour repo.git/
LOCALingit127.0.0.1
VIEWBrowsergraph + diffs

BUILT BY AGENTS. STEERED BY TASTE.

Yes, it’s vibecoded.

This codebase is written entirely by AI coding agents, steered by a human with strong opinions about how a git client should feel. It’s not a disclaimer. It’s the experiment.

Read the source

YOUR NEXT CHECKOUT CAN FEEL DIFFERENT

Make git
click.

Linux, macOS, and Windows · MIT licensed · runs locally

Star on GitHub