v1 is here · open source & MIT

The full power of git.
The simplest UI.

Fast · Simple · Beautiful

A desktop git client that hides the ceremony and keeps the power. A living map of every branch, staging down to the line, AI-written commit messages, calm conflicts and interactive rebase — without ever dropping you into a terminal.

Download View on GitHub Requires git installed
Open source · MIT macOSWindowsLinux Self-updating Electron · React 19 · TypeScript
Built for real work

Advanced git, without the ceremony.

Every hard thing about git — staging, conflicts, rebase, even understanding the repo itself — made effortless. The complexity lives in the engine, never in your face.

New · The Graph

Your whole repo. One living map.

A pannable, zoomable branch explorer: the mainline on top, release lines pinned beneath it, every branch hanging off its parent. Click a commit for its changes, click a branch for everything it did since it forked — double-click to check it out. Focus a branch and its relatives, spot cherry-picked twins across release lines, and find any commit, branch or tag as you type.

focus lensrelease linesbackport twinsfind commits
GitGrove's Graph tab: a 2D branch explorer with a selected branch, its files and a split diff
Line-level staging

No staging area. Commit exactly what you mean.

Tick a checkbox to include a file — or a single hunk, or a single line. Checkboxes are pure UI; git isn't touched until the moment you commit. The button always tells you exactly what will happen.

file · hunk · linegit apply --cached
GitGrove Changes view with file, hunk and line checkboxes for precise staging
New · AI, your key

AI writes the boring parts.

One click turns your staged diff into a proper commit message — pick the length and tone, regenerate until it reads right. AI also suggests branch names, explains any commit in plain English, and untangles cryptic git errors. Bring your own key: it lives in the OS keychain, and your diffs go only to the provider you chose.

commit messagesbranch namesexplain anythingBYOK
GitGrove's AI writing a commit message, with length and tone style controls
One composer

Commit, amend & stash — without ceremony.

A single composer with a mode switch. Write a commit, amend the last one, or stash your work — each a single click. Signing is inherited from your git config, and a quiet Undo reverses the last operation when you change your mind.

commitamendstashundo
GitGrove commit composer with a commit / amend / stash mode switch
Diffs by @pierre/diffs

Diffs that read themselves.

Syntax-highlighted, split or unified, light or dark. The diff that ships in Pierre, rendered right inside GitGrove — so reviewing a change is a pleasure, not a chore.

split · unifiedsyntax-aware
A syntax-highlighted split diff in GitGrove
Image diffs

See exactly what changed — visually.

Compare before and after with a swipe, an onion-skin overlay, or a pixel-difference heatmap, with zoom and pan. PNG, JPEG, TGA and more — because not every diff is text.

swipeonion-skinheatmap
GitGrove image diff comparing two versions of a texture with a swipe handle
History & blame

History and blame, actually usable.

A clean commit log with author avatars you can filter as you type, per-file history, and line-by-line blame colored by age — who changed what, and when, without leaving the window.

type to filterfile historyline blame
GitGrove blame view showing line-by-line authorship
Conflict resolution

Conflicts, resolved calmly.

GitGrove flags conflicts before you merge, then walks you through each file — keep ours, take theirs, or compare side by side. No cryptic markers, no panic.

keep ourstake theirsside by side
GitGrove conflict resolution with keep ours / take theirs controls
Interactive rebase

Rewrite history. No terminal editor.

Reorder, squash, fixup, reword or drop commits from a single dialog. The rebase is scripted behind the scenes through editor shims — so no vim, no rebase -i file, ever opens.

reordersquash · fixupreword · drop
GitGrove interactive rebase dialog with squash, fixup, reword and drop
And everything around it

The daily driver details.

The small things that make a git client home — all built in, all silly-simple.

GitHub, connected

Branches wear their PR number and live CI status. Publish a branch and GitGrove offers the pull request; sign in once with your browser and credentials are answered silently.

Clone from anywhere

Paste a URL, or browse and filter your GitHub repositories — including Enterprise — with live progress.

Undo, for git

A quiet Undo reverses the last history-changing operation — and stands down the moment it's pushed, so shared history is never rewritten.

Merges that warn first

Every merge is dry-run before it happens: GitGrove tells you up front whether it will fly clean or which files will conflict.

Stash, managed

Review any stash as a full diff, then apply, pop or drop it — with a friendly reminder when you return to a branch that has one waiting.

Many windows, one flow

Open several repos side by side; GitGrove restores your session on launch and keeps recents in your dock.

Worktrees & submodules

Spin up a worktree for a parallel branch or update every submodule — one dialog each, no incantations.

Reads never block

Refreshes never take git's lock and writes are queued per repo — the UI stays instant even mid-fetch on a huge monorepo.

Two themes, one calm layout

Light or dark. Always at home.

GitGrove ships two carefully tuned themes that match your system — and never make you squint. Drag to compare.

Light GitGrove history view in light theme
Dark GitGrove history view in dark theme
Get GitGrove

Download for your platform.

Free and open source. It checks quietly for updates on launch and restarts in one click.

macOS

Apple Silicon & Intel · .dmg

Download for Apple Silicon Download for Intel (x64)

Windows

x64 installer · .exe

Download for x64 Download for Arm64

Linux

x86_64 · .AppImage

Download .AppImage All builds & checksums

Looking for older versions, checksums or release notes? See all builds on GitHub. You'll need git installed — GitGrove walks you through it if it isn't found.