Skip to content

Git, without the guesswork

Git Good is a fast, native desktop app for Git. Browse 100,000 commits without a stutter, stage single lines, tidy a branch with an interactive rebase, and undo any rewrite from Recovery. Every action runs the same Git commands as the command line.

Get started See the workflows

Git Good showing the history of a web service: a commit graph with branches, tags and a merge, the refs sidebar, and the details of the selected commit

~150 msto the first rows of a 100,000-commit history
1.8 sto load all 100,000 commits, while you scroll
70 MiBpeak memory for that history
0.5 msper frame for a sidebar of 10,000 branches
1 %most a GUI command may add over the same CLI command

What it does

  • History that keeps up


    Commit lanes, branch, remote and tag pills, and a refs sidebar that filters as you type. History streams in pages, so the first rows show before the rest is read.

    Find your way in history

  • Review like a reviewer


    Press Enter on a commit to read every file inline or side by side, with word-level highlights, blame, file history and image previews.

    Review a commit

  • Commit exactly what you mean


    Stage a file, a hunk or one line. Unstaged and staged changes sit side by side, with the commit box under the diff.

    Commit part of your work

  • Interactive rebase you can see


    Pick, reword, reopen, squash, fixup, drop and reorder, with each commit's diff beside the plan and the result count before you start.

    Clean up with interactive rebase

  • Conflicts, one block at a time


    Base, ours and theirs side by side, with Ours, Theirs, Ours + theirs and Theirs + ours on each block, and a live result preview before you stage.

    Resolve a merge conflict

  • Every rewrite can be undone


    Before each rebase, amend, rewrite or reset, Git Good saves the old tip as a private backup ref. Recovery lists them, with the reflog, and restores in one step.

    Undo with Recovery

Built for real work

Git Good is a native Rust application drawn with egui. It does not embed a browser, and it runs the git on your PATH, so your hooks, credential helpers, signing setup and configuration all apply. The same operations are available from scripts as git good --cli …, which prints JSON.

  • Tidy a branch before review

    Fold a "WIP" commit into the one it fixes, reword a subject, and push. One dialog, and a backup in case you change your mind. Use case

  • Your teammate pushed first

    The toolbar shows ahead 5, behind 1. Pull rebases your work onto theirs, and a conflict is resolved in the same window. Use case

  • Ship half of your edits

    A debug line and a fix live in the same file. Stage the fix by line, commit it, and keep the rest for later. Use case

  • Resolve a conflict without markers

    Base, ours and theirs side by side, a key per choice, and a sentence that says which side is yours. Use case

  • Undo the wrong rewrite

    The branch before the rewrite is one click away in Recovery: restore it, or branch from it. Use case

  • Automate it

    git good --cli status, history, rewrite and others print JSON with stable keys and documented exit codes, for CI and editor integrations. Scripting with the CLI

Light, dark, wide or narrow

The window follows your system theme and adapts to narrow windows: the sidebar folds away and the details stay readable.

History in the light theme

History in a narrow window

Install Git Good View on GitHub