GitButler
A Git client and CLI with stacked and parallel branches, unlimited undo and simple history editing.
These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.
3 more ways to get GitButler
Package managers
- Chocolatey
choco install gitbutler - Homebrew
brew install --cask gitbutler - Flathub
flatpak install flathub com.gitbutler.gitbutler
About GitButler
GitButler works on top of any existing Git repository. It lets you work on several branches at once without switching, and build stacked branches that can be reviewed and landed independently. It also offers undo and redo for any operation and a smartlog view of active branches. Commits can be moved, absorbed, reordered or amended with simple commands.
It comes as a desktop app for macOS, Windows and Linux, and as the `but` command-line tool. The CLI has structured output, which makes it suitable for scripting and AI coding agents.
Strengths
- Parallel and stacked branches in one working directory
- Undo and redo for any operation
- Desktop app and scriptable CLI
- Works with existing Git repositories
Limitations
- Source-available license rather than open source
- Its branch model differs from plain Git and takes time to learn
Details
- Pricing
- FreeFree to download; the source is published on GitHub.
- License
- Proprietary (FSL-1.1-MIT)
- Developer
- GitButler
- Platforms
- Windows, macOS, Linux, Command line
- How it runs
- Downloadable app
- Best suited for
- Developers juggling several in-progress branches or stacked pull requests
- Categories
- Git clients, Developer tools
- Last verified
- Added
- Provenance
- Facts checked against the developer's own pages and store listings, 1 sources on file.
Alternatives to GitButler
Compare allSoftware that can replace GitButler for an important use case, and what changes if you switch.
GitKraken Desktop
Visual Git client with a graph view, drag-and-drop branching and a merge editor.
GitKraken Desktop uses a standard Git branch model with a drag-and-drop commit graph and merge editor, but charges for private repositories and lacks parallel branches.
Tower
Professional Git client for Mac and Windows with undo and conflict tooling.
Tower also offers undo for almost any operation, but uses plain Git branches, runs only on macOS and Windows, and requires a subscription.
SmartGit
A cross-platform graphical Git client with visual history, conflict resolution and pull request support.
SmartGit offers drag-and-drop history operations with undo and pull request support on all three desktops, is closed source and is paid for commercial use.
Sapling
A scalable source control client from Meta that also works with Git repositories and GitHub.
Sapling is a Meta command-line client with stacked commits for code review that works with GitHub, using its own commands rather than a desktop app.
Jujutsu
A version control system with a simpler model than git, which uses git repositories as storage so it works with existing projects and hosts.
Jujutsu is an Apache-2.0 version control system on Git storage with an undoable operation log and no staging area, still pre-1.0 and command-line based.
SourceGit
A fast desktop Git client for all three platforms that covers rebase, bisect, worktrees and LFS.
SourceGit is a free MIT-licensed desktop client using the standard Git model, with interactive rebase, worktrees and LFS but no stacked branches or universal undo.
Fork
Fast native Git client for macOS and Windows with a clean interface.
Fork is a paid native client for macOS and Windows that follows plain Git branching, with clear interactive rebase and conflict tools.
GitButler as an alternative
Listings that name GitButler as an alternative.
Retcon
A macOS app for rewriting Git history by dragging and dropping commits, with undo for every change.
GitButler offers simple history editing and undo for any operation on Windows, macOS, Linux and CLI, but it uses its own branch model and a source-available licence.
Similar software
Related functionality, not necessarily a direct replacement.
GitHub CLI
GitHub's official command-line tool: pull requests, issues, releases and Actions runs from the terminal next to git.
lazygit
A terminal interface for Git that makes staging chunks, interactive rebase and stashing things you actually do.
jjui
A terminal user interface for working with repositories managed by the Jujutsu version control system.