Skip to content

andys8/git-brunch

Repository files navigation

git-brunch Actions

A git command-line tool to work with branches

screenshot

Features

  • Quickly checkout local or remote branch
  • Merge or rebase a branch
  • Search for a branch
  • Delete a branch
  • Fetch / Update

Usage

Run git-brunch or git brunch.

Git alias (optional)

An alias like git b (or gb) is a good idea to quickly access the tool.

git config --global alias.b brunch

Installation

The installation is possible in multiple ways, and there are binaries available to download.

Download binary

  1. Download from releases
  2. Rename the file to git-brunch
  3. Make it executable with chmod +x git-brunch
  4. Add to your PATH

Arch Linux

git-brunch is in the AUR

yay -S git-brunch
pamac install git-brunch

FreeBSD

git-brunch can be installed from the official FreeBSD package repository

pkg install hs-git-brunch

git-brunch is part of the nix package manager

nix-env -i git-brunch

git-brunch can installed with the Haskell build tool stack

stack install git-brunch # --resolver=lts-lts-20.4

Install from source

git-brunch can be installed from source. It can be forked and modified, if you like to.

git clone https://github.com/andys8/git-brunch
cd git-brunch
stack install
# or nix-env -if .

Development

Run application

stack run

Run tests

stack test --file-watch

Build statically linked

stack install --flag git-brunch:static

Generate nix

cabal2nix --shell . > default.nix

Release

  • Bump version in package.yaml and default.nix
  • stack build
  • Create a commit v0.0.0
  • Create a tag v0.0.0
  • Push commit and push tag
  • Release on github will be created by CI
  • Update release description
  • stack upload .
  • Update AUR

Related projects

  • git-gone: Lists or removes "gone" branches, that is, local branches which used to have an upstream branch on a remote which is now removed.
  • lazygit: Terminal UI for git commands
  • gitui: Terminal UI focused on speed in giant repositories