# gitbutlerapp/gitbutler

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gitbutlerapp-gitbutler).**

19,465 stars · 848 forks · Rust · other

## Links

- GitHub: https://github.com/gitbutlerapp/gitbutler
- Homepage: https://gitbutler.com
- awesome-repositories: https://awesome-repositories.com/repository/gitbutlerapp-gitbutler.md

## Topics

`git` `github` `tauri`

## Description

GitButler is a desktop application designed for managing Git version control workflows. It provides a visual interface for organizing concurrent development tasks, allowing users to work on multiple features or bug fixes simultaneously within a single repository without the need for manual context switching.

The application utilizes a virtual file system overlay and in-memory staging to track granular file modifications independently of the underlying version control system. It features a conflict isolation engine that breaks down complex merge conflicts into smaller, manageable segments, and uses an event-driven observer to synchronize the interface with filesystem and repository changes in real time.

Beyond branch management, the tool supports standard distributed version control operations, including synchronizing local commits with remote repositories and maintaining a comprehensive timeline of project history. It is distributed as a desktop application that integrates directly with local Git object databases.

## Tags

### DevOps & Infrastructure

- [Version Control Clients](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-clients.md) — Acts as a desktop application for managing multiple concurrent Git branches and resolving complex merge conflicts through a visual interface.
- [Branch Management Utilities](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-utilities/branch-management-utilities.md) — Provides a workspace for organizing simultaneous feature development and tracking repository history without manual context switching. ([source](https://docs.gitbutler.com/))
- [Git-Based Repositories](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/version-control-systems/git-based-repositories.md) — Maintains a detailed timeline of all repository operations to easily undo unwanted changes and recover previous states.

### Development Tools & Productivity

- [Version Control Managers](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers.md) — Provides a visual interface for synchronizing local commits with remote repositories and managing integration tasks within a Git environment.
- [Git Worktree Management](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/git-utilities/git-worktree-management.md) — Enables working on multiple features or bug fixes simultaneously within the same repository without the overhead of manual context switching.
- [Conflict Isolation Engines](https://awesome-repositories.com/f/development-tools-productivity/merge-conflict-visualizers/conflict-isolation-engines.md) — Analyzes overlapping code segments by calculating diffs against common ancestors to present merge resolutions as independent patch sets.
- [Distributed Version Control Systems](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/distributed-version-control-systems.md) — Synchronizes local code changes with remote repositories to maintain alignment and collaboration across distributed software development teams.
- [Automated Merge Conflict Resolvers](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/repository-utilities/automated-merge-conflict-resolvers.md) — Isolates and fixes conflicting code changes by splitting them into smaller, manageable segments during the integration process. ([source](https://docs.gitbutler.com/))
- [Repository Synchronization](https://awesome-repositories.com/f/development-tools-productivity/repository-synchronization.md) — Synchronizes local commits with remote repositories to keep local work aligned with the shared project state. ([source](https://docs.gitbutler.com/))
- [Project History Auditing](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/project-history-auditing.md) — Maintains a comprehensive timeline of all operations performed on the repository to help users undo unwanted changes. ([source](https://docs.gitbutler.com/))

### Part of an Awesome List

- [System Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/system-utilities.md) — Git-based version control interface for AI workflows.
- [Version Control](https://awesome-repositories.com/f/awesome-lists/devtools/version-control.md) — Listed in the “Version Control” section of the Awesome Mac awesome list.
- [Version Control Clients](https://awesome-repositories.com/f/awesome-lists/devtools/version-control-clients.md) — Git client focused on parallel branching and change management.

### Software Engineering & Architecture

- [Virtual File Systems](https://awesome-repositories.com/f/software-engineering-architecture/virtual-file-systems.md) — Maps multiple independent virtual branches onto a single physical working directory by dynamically swapping file contents based on active state.
- [Filesystem Event Synchronization](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/reactive-messaging/reactive-event-driven-systems/filesystem-event-synchronization.md) — Monitors filesystem changes and git reference updates to trigger automatic synchronization and UI state reconciliation in real time.

### Data & Databases

- [Atomic Transactional Commits](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/connection-transaction-management/atomic-transactions/atomic-transactional-commits.md) — Groups related file changes into discrete units that can be reordered or applied independently across different virtual branches.
- [In-Memory Data Stores](https://awesome-repositories.com/f/data-databases/in-memory-data-stores.md) — Tracks granular file modifications in a volatile layer before committing them to the underlying version control system.
