Skip to content

GitCatGit you can take back.

A cozy desktop Git client that pins a snapshot before everyday history-changing operations — so ⌘Z can put your branches back. Free and open source, on macOS, Windows and Linux.

Tama, GitCat's cat mascot, waving hello

A real, unedited session on CPython, with narration and captions. Prefer stills? →

The Safety Manager

Undo is not a feature. It's the point.

Every Git GUI makes it easy to run a dangerous command. GitCat is built so you can take it back — commits, merges, rebases, resets and branch moves, including the ones git itself considers final.

Tama, before

Before

A snapshot is pinned

HEAD and every local branch tip — captured before the command runs, not after it goes wrong. Discarded changes and deleted branches, tags and stashes get their own backups.

Tama, during

During

Tama says the scary part out loud

Anything irreversible needs a typed confirmation, and tells you exactly what it will touch.

Tama, after

After

⌘Z puts it back

One keystroke rewinds your history and branches. Undo is itself a snapshot, so you can undo the undo.

Commit graph

A graph that keeps up

git2 reads and a hand-tuned Rust swimlane layout, streamed onto a virtualized canvas with no depth cap. 150,000 commits scroll smoothly — with the text still readable.

  • Inline branch and tag chips
  • Drag one dot onto another to cherry-pick
  • Snap back to HEAD from anywhere
GitCat's commit graph, with coloured swimlanes and inline branch labels

Diffs & staging

Down to the line

Stage by file, by hunk, or by individual line. Text diffs are syntax-highlighted; images and PDFs get a real before/after preview, rendered natively and zoomable.

  • Line-level staging
  • Side-by-side image & PDF diffs
  • Pluggable external diff and merge tools
The commit detail panel showing a syntax-highlighted diff

Command palette

Everything is one keystroke away

⌘K fuzzy-searches commits, refs and actions at once — including branches that aren't in the sidebar. Search by author, by full hash, or pickaxe through file content.

  • Vim-style keys throughout
  • Jump straight to Bisect, Reflog, Rerere
  • A real native menu, too
The ⌘K command palette searching commits and refs

And the rest of it

The deep cuts, too

All of real git

Merge, rebase (linear and drag-to-reorder interactive), cherry-pick, revert, bisect, blame with rename-following, submodules, patches, and a git-filter-repo wizard.

Conflicts, resolved

A real 3-way editor with hunk-level resolution, plus rerere and your own external merge tool if you'd rather.

When git can't help

Reflog rescue and dangling-object recovery, for the commits git itself has already given up on.

Plugins

Extend GitCat with ⌘K commands, hooks, side panels, named tools, and Tama skins and reactions.

English, 中文 & 한국어

The whole interface in three languages, switchable live with no reload.

gitcat .

Open a repo from your terminal the way code . does — WSL-aware, on every platform.

The exhaustive feature list →

Tama waving helloTama curiousTama thinkingTama confidentTama celebratingTama alarmedTama shockedTama napping

Meet Tama

Not a mascot. The one holding the snapshot.

Eight expressions, wired to real moments: curious while you search, thinking hard mid-rebase, genuinely alarmed right before something irreversible — and celebrating once it's safely done.

More about Tama →

Point it at a repo you care about.

That's rather the whole idea — nothing it does to your history can't be taken back.

Free and open source under the GPLv3 · macOS, Windows and Linux · no account, no cloud

Released under the GNU General Public License v3.0 or later.