gitbutler
GitButler is a Git-based version control client with both a desktop GUI and a `but` CLI, built around virtual/stacked branches, easy commit editing, an undo timeline, and AI-assisted workflows. It acts as a friendlier, more powerful drop-in replacement for the vanilla Git interface in any existing repo.
MITPermissive — free to use in commercial and proprietary software, with attribution.View license →
Production readiness
4/5- Actively maintainedCommits in the last 6 months
- No known vulnerabilitiesNot yet scanned
- Clear, usable licenseMIT (permissive)
- Proven adoptionWidely used
- Has documentationDocumentation indexed
cargo add gitbutlerOur analysis
GitButler is a modern Git client (Tauri desktop GUI plus a Rust `but` CLI) that reimagines the Git workflow with virtual/parallel branches, stacked branches, drag-and-drop commit editing, an operations undo timeline, and built-in AI helpers for commit messages and PRs.
When to use gitbutler
Use it when you frequently juggle multiple features in one working tree, want to stack dependent branches without manual rebasing, dislike interactive rebase, or want a friendlier GUI/CLI that integrates with GitHub/GitLab and AI agents for commit and PR authoring.
When not to
Reach for plain Git, lazygit, or gh CLI if you want a thin, scriptable, fully-permissive tool with no extra abstraction; teams uneasy with virtual-branch semantics or the Fair Source non-compete license may prefer conventional clients. It's also unnecessary if your workflow is simple single-branch development.
Strengths
- Virtual branches let you work on several branches in one checkout without context-switching
- Stacked branches with automatic restacking remove much interactive-rebase pain
- Operations undo timeline makes recovering from mistakes far easier than reflog
- Shared Rust engine powers both GUI and CLI, giving consistent behavior
- First-class conflicts let rebases always 'succeed' and defer resolution
- Native forge integration for PRs and CI status
Trade-offs
- Virtual-branch model is a conceptual departure from standard Git and has a learning curve
- Fair Source license restricts building a competing product (becomes MIT after 2 years)
- Adds an abstraction layer over Git state that can confuse when mixing with raw git commands
- Desktop-first; AI features and forge integration may require accounts/auth setup
- Less scriptable than minimal CLI tools for CI automation
Maturity
A well-funded, actively developed project with 21k+ stars, a public company behind it, regular releases, and growing GUI + CLI offerings; production usability is solid but the virtual-branch paradigm and Fair Source licensing are still maturing considerations for broad adoption.
GitButler is a powerful new Git-based version control system, designed from scratch to be simple, powerful and flexible. It is designed for ease of use and modern agentic workflows.
It features stacked branches, parallel branches, unlimited undo, easy commit mutations, forge integrations and more.
Works instantly in any existing Git repo as a friendlier and more powerful drop-in Git user interface replacement - for you and your agents.
Main Features
Why use GitButler instead of vanilla Git? What a great question.
Effortlessly create branches stacked on other branches. Amend or edit any commit easily with automatic restacking.
Organize work on multiple branches simultaneously, rather than constantly switching branches.
Easy Commit Management (gui, cli)
Uncommit, reword, amend, move, split and squash commits by dragging and dropping or simple CLI commands. Forget about
rebase -i, you don't need it anymore.
Logs all operations and changes and allows you to easily undo or revert any operation.
First Class Conflicts (gui, cli)
Rebases always succeed. Commits can be marked as conflicted and resolved at any time, in any order.
Authenticate to GitHub or GitLab to easily open and update Pull Requests, list branches, get CI statuses and more. No other tools required.
Use built-in AI handlers to help create commit messages, branch names, PR descriptions and more.
Easily install hooks or skills for all modern agent systems to level up their Git management.
Tech
The GitButler desktop app is a Tauri-based application. Its UI is written in Svelte using TypeScript and its backend is written in Rust.
The but CLI is the same Rust backend engine with a Rust command line UI.
Documentation
You can find our end user documentation at: https://docs.gitbutler.com
Bugs and Feature Requests
If you have a bug or feature request, feel free to open an issue, or join our Discord server.
License
The TLDR is that GitButler is under a Fair Source software license, meaning that you can use it, view the source, contribute, etc. You just can't build a competitor with it. It also becomes MIT after 2 years. So, MIT with an expiring non-compete clause.
Contributing
So you want to help out? Please check out the CONTRIBUTING.md document.
If you want to skip right to getting the code to actually compile, take a look at the DEVELOPMENT.md file.