GitBunki GitBunki
Now in beta for macOS Get your spot

Join the GitBunki beta.

GitBunki is in active development, and we want your hands on it. Grab a beta spot, put it through its paces on your real repositories, and help shape the first release — every report and idea steers where it goes next.

macOS 26+ · This beta build expires after June — we'll email you when the next version is ready. No spam.

Native
SwiftUI, not Electron
Real git underneath
Wraps the git binary you already trust
GitX-style
Three-pane layout you already know
Hunk & line staging
Down to single lines
Now in beta · macOS

Git, with a hop .

A full Git client that gets out of your way. Native SwiftUI, inspired by the late, great GitX. Stage down to the line, walk and blame history, rebase and merge with intent, and manage branches, tags, stashes, and remotes.

The beta is live through June — this build expires at the end of the month, so drop your email and we'll let you know the moment the next version is ready.

macOS 26+ · This beta build expires after June — we'll email you when the next version is ready. No spam.

Built with
SwiftUI
Requires
macOS 26+
Sends to cloud
Nothing
GitBunki commit history with graph
History

Every move, mapped.

A full commit log with a lane-based graph — so you can see the merges, the divergence, the long-lived feature branch nobody mentioned. Branch and tag badges land on the rows they belong to.

  • Search commits by message, author, or SHA
  • Gravatar avatars (with initials fallback)
  • Right-click for cherry-pick, revert, reset, interactive rebase
  • Open the working file's history straight from the commit detail
Commit history with graph visualization
Staging

Stage hunks.
Or lines. Or words.

GitX's three-column layout, modernized. Diff on top, unstaged / commit message / staged on the bottom. Click a hunk to stage it. Shift-click a range of lines and stage just those. Amend the last commit without dropping to the terminal.

double-click
Stage / unstage file
⌘↵
Commit from message
shift-click
Select line range
amend
Tweak last commit
Unified diff mode
Unified diff
Compact, inline + and − for fast review.
Side by side mode
Side-by-side
Two-pane view when you need to see the shape of the change.

Everything git can do.
Without the cliff.

Branches, tags, stashes, remotes, blame, file history. Each one gets a contextual right-hand panel with the actions that actually matter.

Branches

Track, merge, rebase

Local + remote branches with ahead/behind chips, upstream-gone detection, recent-commits with inline diffs, and one-click merge or rebase.

Tags

Lightweight or annotated

Create tags on HEAD or any commit, push individually, see annotation messages and tagger info in a dedicated detail panel.

Stash

Save it for later

Stash with optional message, include untracked files, then apply / pop / drop from the detail panel with diffs you can actually read.

Remotes

Add, rename, edit

Manage configured remotes in a dedicated tab. Multi-remote repos are first-class. Fetch from all with one click.

Blame

Per-line context

Author, date, SHA, and summary on every line. Click any SHA to jump to that commit's detail.

File history

Just this file

Filter the log to a single path. Available from commit detail and the tree browser.

A panel for every thing.

Pick a branch, a tag, or a stash on the left — the right panel reshapes itself to the actions that make sense for what you selected.

Branches with detail panel
Branches
Checkout, merge, rebase, delete — with confirmations on the dangerous ones.
Tags with annotation message
Tags
Lightweight or annotated, with full tagger details and push-to-origin.
Stash list with diff
Stash
Source branch parsed from the subject, files listed, diff viewable.
Dark mode

Daylight or moonlight.

Follows your system theme. Carefully tuned diff colors that hold up at 2 AM, when most of this is probably happening anyway.

GitBunki in dark mode
Shortcuts

For the keyboard people.

A short, opinionated set of shortcuts for the things you do twenty times a day — and a Settings pane to see all of them in one place.

Refresh repository ⌘R
Commit from staging ⌘↵
Stage / unstage file double-click
File actions menu right-click
Stage line range shift-click
Toggle file selection ⌘-click
Shortcuts settings pane
History rewrite

Rebase without
the cold sweat.

Interactive rebase, reset (soft / mixed / hard), continue / skip / abort — all with actionable errors. Hard reset gets a destructive confirmation that names the commit it's about to land on. No more git reflog panic.

Interactive rebase

Launch Git's todo editor from any commit in history.

Continue · skip · abort

Resume an in-progress rebase from the UI.

Reset modes

Soft, mixed, and hard — with destructive confirmation.

Conflict guidance

Friendly errors for dirty trees, detached HEAD, missing refs.

Cherry-pick & revert

From the commit detail, with one click.

Merge strategies

Auto, no-fast-forward, fast-forward-only.

Recently

Built in the open.

A snapshot of what's landed in the last few weeks while we close in on the first beta.

  1. App Store audit

    In progress

    Submitting GitBunki to the macOS App Store · provisioning profile, sandbox entitlements, scoped Git access

  2. Beta · Jun 1 – Jun 30

    In progress

    Beta testing with macOS-first developers · feedback on real-world repos and edge cases

  3. 2026-05-29

    QA pass · end-to-end smoke runs on large repos · stress-tested rebase / merge / conflict flows

  4. 2026-05-28

    Code review · tightened error messages, accessibility identifiers, and SwiftUI view boundaries before the audit

  5. 2026-05-27

    About screen in the app · diff panel now clears after staging files · public feedback site at GitBunki/gitbunki-feedback for bug reports and ideas

  6. 2026-05-26

    Beta 2 cut · new Git tab in Settings with Name / Email for commit author identity · persisted across launches and injected via GIT_AUTHOR_* env vars so the sandboxed app authors commits correctly

  7. 2026-05-25

    Performance & polish pass · optimistic stage / unstage with batched git add . · LazyVStack for big diffs · in-place detail-panel refreshes · word-level diff highlights · dedicated light/dark diff themes · Liquid Glass primary buttons · Settings split into General / Shortcuts / Terminal with copyable gitbunki launcher snippet · ⌘↩ to commit

  8. 2026-05-19

    Website launched · landing page on Rails 8 + Tailwind 4 · email waitlist with honeypot, time-trap, and rate-limit defenses · deployed via Kamal

  9. 2026-05-18

    GitBunki logo · branch-motif icon with green and yellow nodes · macOS app icon sizes generated

  10. 2026-04-28

    Right-side detail panels for stash / tag / branch · contextual empty states · context-menu copy and Finder reveal actions throughout

  11. 2026-04-18

    Remotes tab · add / rename / remove / edit fetch URLs · multi-remote parsing · fetch from all · upstream configuration from the Branches context menu

  12. 2026-04-08

    Branch workflows · merge (auto / no-ff / ff-only) · rebase current onto ref · reset (soft / mixed / hard) with destructive confirmation · drop stash action

  13. 2026-04-02

    Interactive rebase · continue / skip / abort from the UI · cherry-pick & revert from commit detail · amend last commit · gravatar avatars in history

  14. 2026-03-05

    Blame view with per-line author, date, and commits · tree browser with file content preview · pointer cursor and double-click navigation

  15. 2026-03-04

    GitX-style staging layout · hunk and line-level staging · commit graph with lane topology · branch/tag ref badges · double-click to stage

  16. 2026-03-03

    Initial release · open repos via folder picker · commit history with search · staging with commit · pull / push / fetch · three-column NavigationSplitView

Hop into the beta.

The beta runs through June, and this build expires at the end of the month. Leave your email and we'll let you know the moment the next version is ready. No drip campaigns, no tracking pixels, no nonsense.

Requires macOS 26 Tahoe or later · Git at /usr/bin/git