explaingit

gitbutlerapp/gitbutler

📈 Trending20,869RustAudience · developerComplexity · 4/5ActiveLicenseSetup · moderate

TLDR

A modern Git client with a desktop GUI and CLI that simplifies version control through stacked branches, drag-and-drop commits, AI-powered features, and an undo timeline for all operations.

Mindmap

mindmap
  root((GitButler))
    What it does
      Stacked branches
      Drag-and-drop commits
      Undo timeline
      AI-powered features
    Key features
      Parallel branch work
      Conflict resolution
      GitHub/GitLab integration
      Commit management
    Tech stack
      Rust backend
      Tauri framework
      Svelte frontend
      TypeScript
    Use cases
      Simplify Git workflows
      AI-assisted coding
      Multi-branch development
      Pull request management
    Audience
      Git users
      AI-first developers
      Teams using GitHub/GitLab

Things people build with this

USE CASE 1

Work on multiple Git branches simultaneously without constantly switching between them.

USE CASE 2

Simplify commit management by dragging, splitting, squashing, or rewording commits instead of using git rebase -i.

USE CASE 3

Integrate with GitHub and GitLab to open pull requests, check CI status, and manage branches directly from the desktop app.

USE CASE 4

Use AI to automatically generate commit messages, branch names, and pull request descriptions.

Tech stack

RustTauriSvelteTypeScript

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Rust toolchain and Node.js; Tauri desktop app build dependencies vary by OS.

Use, view, and contribute to the code freely, but you cannot build a competing product. The license converts to MIT after two years.

In plain English

GitButler is a modern version control client built on top of Git, providing both a desktop GUI application and a command-line tool called but. It is designed as a friendlier and more powerful replacement for the standard Git workflow, with a focus on making common version control tasks easier and supporting AI-powered coding workflows. The standout features are stacked branches (letting you create branches built on top of other branches and restack them automatically when you amend commits), parallel branches (working on multiple branches at the same time without constantly switching), and an undo timeline that logs all operations so you can easily reverse any change. Commit management is simplified to drag-and-drop or simple commands, you can split, squash, reword, or move commits without needing git rebase -i. Merge conflicts are handled differently: rebases always succeed, and conflicted commits can be resolved at any time in any order. The app also integrates with GitHub and GitLab to open and update pull requests, check CI status, and manage branches directly from the client. Built-in AI features help generate commit messages, branch names, and PR descriptions. GitButler is built with Tauri and Rust on the backend and Svelte with TypeScript on the frontend. It is licensed under a Fair Source license, you can use, view, and contribute to the code, but cannot build a competing product. The license converts to MIT after two years.

Copy-paste prompts

Prompt 1
How do I set up GitButler and use stacked branches to organize my commits on top of each other?
Prompt 2
Show me how to use the drag-and-drop interface in GitButler to split, squash, and reorder commits instead of git rebase -i.
Prompt 3
How do I configure GitButler to work with my GitHub or GitLab repository and manage pull requests from the desktop client?
Prompt 4
What are the AI features in GitButler and how do I use them to generate commit messages and PR descriptions?
Prompt 5
How does GitButler's undo timeline work and how can I reverse any operation I've done?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.