Early alpha, currently verified on macOS
See your Git history.
Then change it with confidence.
GitBob is a free Git client with rich functionality: an interactive commit graph, staging with real diffs, and branches, fetch, pull and push. Every action runs the Git you already have installed.
Free to use. No account. Windows and Linux builds are planned but not tested yet.
Highlights
-
A graph you can read
Every branch, remote, tag and merge, laid out in lanes. Click any commit to inspect it.
-
Your Git, not a copy
GitBob runs the git command on your machine. Nothing is simulated or reimplemented.
-
Careful with your work
Destructive actions ask first. Discarded new files go to the Trash, not into the void.
-
Private by default
No sign-up, no telemetry. It works offline; the network is only used when you fetch, pull or push.
The whole history, in one view
GitBob reads the real commit graph across all your branches, remotes and tags and draws it as lanes, with merges, octopus merges and multiple roots handled correctly.
- Branch, remote and tag labels, with the current branch and HEAD marked
- Uncommitted work appears as its own row at the top
- Arrow keys move through commits; clicking a ref in the sidebar jumps to it
- Commit details: author, committer, parents, full message and changed files with line counts
- Open any file in a commit to see its diff
Stage, review, commit
Unstaged and staged files sit side by side. Select one to see exactly what changed before it goes into a commit.
- Stage or unstage single files, or everything at once
- Diffs for modified, staged, new and binary files
- Commit with a summary and description, or amend the last commit
- Failing hooks and a missing Git identity are reported clearly
- Changes made in your editor or terminal show up automatically
Branches and remotes
Right-click a branch or commit to do the common things without leaving the graph.
- Create a branch at any commit, check out, rename and delete
- Check out a remote branch and GitBob creates the tracking branch
- Set upstreams and see how far ahead or behind you are
- Fetch with prune; pull as fast-forward only, merge or rebase
- Push a new branch and its upstream is set for you
- Add and remove remotes
- Asks for your username and password or token when an HTTPS remote needs them
- Fetch, pull and push show progress and can be cancelled
Side-by-side diffs and a real conflict editor
See changes the way you think about them, and get out of merge conflicts calmly.
- Side-by-side diff with syntax highlighting for about 80 languages
- Stage, unstage or discard a single hunk, or just the lines you pick
- Conflict editor: ours and theirs side by side, an editable result below
- Ours, Theirs or Both for each conflict, then save and mark it resolved
- GitBob won't mark a file resolved while conflict markers remain
Undo, stash and tag
The time-travel tools are one right-click away, and the risky ones look after your work.
- Cherry-pick a commit onto your branch, or revert it with a new commit
- Reset soft, mixed or hard; a hard reset asks first and saves your uncommitted work as a backup stash
- Stash half-finished work with a message, then pop or apply it later
- Create annotated or lightweight tags, push and delete them
- A banner offers Continue, Skip or Abort when a merge, rebase, cherry-pick or revert stops on a conflict
Rewrite history, read its story
Tidy commits before you share them, and find out why any line looks the way it does.
- Interactive rebase in a dialog: reorder, reword, squash, fixup or drop
- Conflicts during a rebase hand over to Continue, Skip or Abort
- The reflog lists every former state of HEAD; rescue lost work with one right-click
- Blame any file, now or in any commit, and jump to the commit behind a line
- Worktrees, submodules and GPG/SSH signature status
Find anything, light or dark
Search reaches the whole history, not just what is on screen, and the app fits your desktop.
- Search by message, author, committer or commit id with ⌘F
- Matches light up, the rest fades; Enter jumps to the next one
- Light, dark or match-system theme
- Measured on a 100,000-commit repository: full history in about 3 seconds, graph layout in about 40 ms
Built on real Git
GitBob doesn't pretend. Each button runs a git command on your repository, with arguments passed directly to the process rather than through a shell. If Git refuses, you see why.
| When you | GitBob runs |
|---|---|
| Pull | git pull --ff-onlyby default, so nothing gets merged by surprise |
| Force push | git push --force-with-leaseafter you confirm; refuses if the remote moved since your last fetch |
| Commit | git commit --file=-your message goes in through standard input, untouched |
| Discard a new file | Move to Trashafter you confirm, so you can still get it back |
| Delete an unmerged branch | git branch -Donly after a second confirmation |
Your data stays yours
There's no account to create and no telemetry in the app. Browsing history, staging and committing all work offline. GitBob only talks to the network when you fetch, pull or push, using your own Git configuration, SSH agent and credential helpers.
A locked-down app
The interface runs in a sandboxed Electron window with context isolation, no Node.js access and a strict content security policy. Every request from the interface to Git is type-checked and limited to repositories you opened.
On the roadmap
Not merged yet. These are planned and not in the app today.
- Windows and Linux builds, plus signed installers
- Remember HTTPS credentials in your system keychain
- Graph filters and Git LFS
- Clone and init, repository tabs
- Graph filters (by branch, author or path)
- GitHub, GitLab, Bitbucket and Azure DevOps integration
- Customizable keyboard shortcuts and a command palette
Get GitBob
There are no installers yet. Until the macOS download is ready, you can run GitBob from source. You'll need Git and Node.js (tested with Node 25 on macOS).
-
Clone the repository
git clone https://github.com/szabto/gitbob.git cd gitbob -
Install dependencies
npm install -
Start the app
npm run dev
Prefer to read the code first? View GitBob on GitHub. GitBob is early alpha software. It's careful with your work, but keep your usual backups and pushes.