An open API service indexing awesome lists of open source software.

https://github.com/simonnyvall/b-branch

A better git branch tool / git extension ๐ŸŒฟ
https://github.com/simonnyvall/b-branch

branch cli cross-platform csharp extension git linux macos version-control windows

Last synced: about 2 months ago
JSON representation

A better git branch tool / git extension ๐ŸŒฟ

Awesome Lists containing this project

README

          

logo




โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘
โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ•šโ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘
โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ• โ•šโ•โ•โ•šโ•โ• โ•šโ•โ•โ•šโ•โ• โ•šโ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•šโ•โ• โ•šโ•โ•


git branch, but make it better :wrench:


Download for macOS (Apple Silicon) ยท Linux (x64) ยท Windows (x64)




.NETย ย 
github starsย ย 
download countย &nbsp
gitbutler

๐Ÿ“š Table of content

- [๐ŸŒฟ What is B-branch?](#-what-is-b-branch)
- [โœจ Features at a Glance](#-features-at-a-glance)
- [๐Ÿš€ Quick Start](#-quick-start)
- [๐Ÿ”ง Usage](#-usage)
- [๐Ÿ“ Branch Description](#-branch-description)
- [๐Ÿ–ฅ๏ธ Pager Keybindings](#๏ธ-pager-keybindings)
- [๐Ÿ’ก Nerd Fonts](#-nerd-fonts)
- [Contributing](#contributing)
- [Acknowledgments](#acknowledgments-mega)
- [License](#license-book)

## ๐ŸŒฟ What is B-branch?

You've been staring at `git branch` output for years, an alphabetical wall of names with zero context. *When was this branch last touched? How far behind is it? What was I even doing here?*

**B-branch fixes that.**

It replaces the blunt `git branch` command with a rich, structured view that shows you what actually metters; **recency, divergence, and description**

> [!IMPORTANT]
> Inspired by Scott Chacon's talk [So You Think You Know Git? by Scott Chacon](https://www.youtube.com/watch?v=aolI_Rz0ZqY&t=472s) and the workflow philosophy behind **GitButler**

screen

---

## โœจ Features at a Glance
| Feature | Description |
| ------------- | ------------- |
| Sorting | Sort branches how **you** want |
| Ahead / Behind | See how many commits each branch is ahead or behind upstream or compare different branches |
| Branch description | Display custom per-branch description |
| Pagenation | Same pagenation as our favorite `git` |
| Regex filtering | `--contains` and `--no-contains` with full regex support |
| Zero dependencies | Single compiled binary, run on Windows, Linux or Mac |
| Nerd Font Icons | Beautiful glyphs when you have Nerd Font installed |
| Stale branch detection | View all of your old stale branches |
| Git branch | All of the `git branch` command features we already love |

## ๐Ÿš€ Quick Start
**Download** (recommended)

Grab the latest binary for your platform from the [Releases page](https://github.com/SimonNyvall/B-branch/releases) - no runtime required.

**Now run it:**
``` sh
git bb
```

That's it. You're already living better.

## ๐Ÿ”ง Usage
``` sh
# List branches (sorted by recency)
git bb

# Show all branches including remote
git bb --all

# Filter branches by string
git bb --contains "feature"

# Show stale branches (upcoming feature)
git bb --stale

# Quiet mode (just branch names, useful for scripting)
git bb -q
```

## ๐Ÿ“ Branch Description
Git supports per-branch description natively... B-branch actually shows them.
``` sh
# Add a description to the current branch
git branch --edit-description
```
This will open an editor where you can set what description should be on what branch.
```text
[main]
This is the description that will show up on the main branch.
```

## ๐Ÿ–ฅ๏ธ Pager Keybindings
| Key | Action |
| ------------- | ------------- |
| j / k | Scroll down / up |
| G / END | Jump to bottom |
| g / HOME | Jump to top |
| / | Search |
| n / N | Next / previous search result |
| ESC | Clear search |
| q | Quit |
| ! | Execute shell command |

## ๐Ÿ’ก Nerd Fonts
For the full icon experience, install [Nerd Font]() and enable it:
``` sh
git config --global vars.useNerdFonts true
```

## Contributing

We welcome contributions to **B-branch**! If you have suggestions or improvements, please adhere to the following [guidelines](./CONTRIBUTE.md) when contributing to the project.

Don't forget to โญ **star** the repo if B-branch makes your day a little less painful.

## Acknowledgments :mega:

This project was inspired by the innovative ideas shared by [**GitButler**](https://www.youtube.com/watch?v=aolI_Rz0ZqY&t=472s). Check out their video for more insights into enhancing Git workflows.

## License :book:

This project is licensed under the [GPL-3.0 License](./LICENSE) - see the LICENSE.md file for details.

---

## *Your workflow deserver better.*
# โฌ [Download latest release](https://github.com/SimonNyvall/B-branch/releases)