Making Git Workflows Incredibly Convenient with GitButler
Published: 2024-02-14 10:43:41

---
title: Making Git Workflows Incredibly Convenient with GitButler
published: true
description: 
tags: 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2024-02-14 10:42 +0000
---

## tldr

The UI of [GitButler](https://gitbutler.com/) looks like this.

![](https://storage.googleapis.com/zenn-user-upload/1d16ebc08546-20240214.png)

### What's good about it?

A key feature is the ability to work with git flexibly using virtual branches without creating physical branches. For example, you can drag changes from the current modification to multiple virtual branches to organize the changes.

It also automatically suggests commit messages.

![](https://storage.googleapis.com/zenn-user-upload/370ea1bb51f0-20240214.png)

Even the names of the virtual branches are automatically decided.

![CleanShot 2024-02-14 at 19.15.52@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7565/943be974-956d-02da-300e-d3d250bbc2b5.png)


## Why GitButler?

### The Need for a New Git Client
In modern software development, GitHub has transformed collaboration among developers. However, using GitHub, GitLab, or Bitbucket still requires the use of cumbersome and error-prone command-line tools, which are not optimized for the workflows and processes used by today's developers.

### The Innovation of GitButler
GitButler rethinks the entire software development process from coding in the editor to sharing code on GitHub. Why should we be troubled by unclear commands and complicated procedures? Source code management (SCM) should record everything for you, provide more meaningful commit messages, and make it easier to provide context about the code your team has written. It should also allow seamless transition of work between different devices.

### What GitButler Aims For
GitButler is not just a new kind of Git client, but proposes an entirely new way of thinking about code management in software development. It acts as a "code concierge" to assist developers at every step of the software development process. The goal is to provide the necessary support and context for each line of code without developers losing a moment of their work.

### Summary

Source code management can transcend the concepts of 40 years ago to become smarter and more advanced. GitButler aims not just to offer a new tool but to transform the very method of source code management. This allows developers to work more efficiently and, above all, more creatively, without being troubled by the complexities of traditional management tools.

## Key Features of GitButler

### 1. **Concurrent Branch Management**:

GitButler introduces an innovative approach to handling multiple branches, allowing developers to work on several branches simultaneously, a function not directly supported by Git itself. This feature significantly reduces the complexity and time required for switching and managing multiple branches.

### 2. **Virtual Branches**
GitButler's Virtual Branch feature enables working on multiple branches simultaneously, committing and stashing each independently. Developers can handle multiple virtual branches at once, dragging each of three different changes in a file to different virtual branch lanes, committing and pushing them independently. Unlike Git's normal branch operations, virtual branches are maintained in vertical lanes, allowing each file or difference to be dragged between lanes like a kanban board. For more details, refer to GitButler's documentation.

### 3. **Automatic Versioning and Commit Drafting**:

GitButler not only creates commits but drafts commit messages while directly integrating automatic versioning into the Git working directory. This feature allows developers to focus more on coding, knowing that versioning is handled automatically.

### 4. **Integration with Existing Workflows**:
Designed to seamlessly integrate with existing Git workflows, GitButler enhances, rather than interrupts, current practices. Features like bookmarking crucial moments in the development timeline add layers of convenience and efficiency.

### 5. **Butler Flow**:
A lightweight, branch-based workflow facilitated by GitButler's virtual branch feature. It ensures that virtual branches continue to be applied locally until they are merged upstream, reducing confusion and overhead.

## Why Choose GitButler?

GitButler is more than just a tool. It was created to address the subtle problems and challenges daily developers face. By managing source code more intelligently and providing support for every line of code, GitButler aims to be a step ahead in the software development process.

## Getting Started with GitButler

Starting with GitButler is easy. The platform is available for download, and an open beta version lets you glimpse some of its features. The development team also fosters a community on Discord, where users can join, share experiences, and receive support.