Purpose: introduce Git Good and explain installation and use.
A fast, native Git desktop app that runs your own git, and can undo any rewrite.
Linux, macOS and Windows, on x86_64 and Arm. Free and open source (Apache-2.0).
If Git Good saves you time, a star on GitHub helps other people find it.
curl -fsSL https://raw.githubusercontent.com/baol/gg/main/scripts/install.sh | shirm https://raw.githubusercontent.com/baol/gg/main/scripts/install.ps1 | iexThen run git good in any repository. More ways to install are below.
- Fast on big repositories. The first rows of a 100,000-commit History tree show in about 150 ms, all of it loads in under 2 s while you scroll, in about 70 MiB. A sidebar of 10,000 branches costs half a millisecond a frame. How it is measured
- Every rewrite can be undone. Before each rebase, amend, rewrite or reset, Git Good saves the old branch tip as a private backup. Recovery lists them, with the reflog, and restores in one step.
- It is your Git. Every action runs the
giton yourPATH, so hooks, credential helpers, signing and configuration all apply, and a command from the app costs at most 1 % more than the same command typed. No Electron, no embedded browser.
Stage exactly what you mean, by file, hunk or line, and commit:
Tidy a branch with Interactive rebase, then take the old tip back from Recovery if you change your mind:
★ Star on GitHub · Documentation · Workflows · Real use cases · How it was built
Run the same command again to update. Git runs git-good whenever you type git good, as long as it is on your PATH.
Linux and macOS (installs to ~/.local/bin):
curl -fsSL https://raw.githubusercontent.com/baol/gg/main/scripts/install.sh | shWindows (PowerShell; installs to %LOCALAPPDATA%\Programs\git-good and adds it to your user PATH):
irm https://raw.githubusercontent.com/baol/gg/main/scripts/install.ps1 | iexThe scripts download the release for your system and processor from GitHub Releases, check it against its published SHA-256, and install nothing if it does not match. GG_VERSION=0.1.90 installs a given release and GG_INSTALL_DIR picks another folder; read install.sh or install.ps1 before you run them.
With Cargo, the prebuilt binary through cargo-binstall, or a build from source (Rust 1.95+):
cargo binstall git-good
cargo install git-good --lockedBy hand: download the archive for your platform (x86_64 or arm64 on Linux, macOS or Windows) from GitHub Releases and put git-good (git-good.exe on Windows) in a folder on your PATH.
From a checkout: cargo install --path apps/git-good --locked --force.
Git Good runs the Git on your PATH; commit hooks need Git 2.36+.
Open the current repository (or pass a folder):
git goodCommands for scripts follow --cli and print JSON, for example git good --cli status --repo .; see the CLI reference.
- History tree and Refs — Stream and filter the History tree with commit lanes and branch, remote, and tag pills. Switch branches, create tracking branches, merge, or rebase from the refs sidebar or the Branch menu; the toolbar keeps fetch, pull, and push one click away, and search (
Ctrl+K) runs every menu command. - Commit review — Press Enter on a commit to inspect changed files, side-by-side or inline diffs, image previews, blame, and File history.
- Local Changes — Inspect staged, unstaged, untracked, and conflicted files. Stage, unstage, or discard whole files, hunks, or individual lines, ignore an untracked file, its extension, or its folder in
.gitignore, then commit or amendHEAD. - Rewrites and recovery — Cherry-pick, revert, reset, or rewrite commits with an interactive rebase (pick, reword, reopen, squash, fixup, drop, reorder). Rebase stops show the step, a reopened commit opens in Local Changes to split, and conflicts resolve block by block, with Continue, Skip commit, and Abort and restore. Automatic private backups and the reflog under
Repository → Recovery…let you restore previous branch tips. - Sync and Stash — Fetch, push, and clone from Repository with live progress and cancellation, or park work from Stash.
- Preferences —
Repository → Preferences…(Ctrl+,) sets the theme, compact or comfortable rows, clone folders with a preferred one, network avatars, and the rebase autostash default. - Keyboard navigation — Navigate with arrows or
j/k, toggle details withSpace, open commit actions withAlt+A, and view all shortcuts under Help.
CLI reference · Contributing · Development · Architecture · Design
Apache-2.0 · LICENSE