Skip to main content

A Git utility that shows recently checked-out branches in chronological order and lets you quickly switch between them.

Project description

lbranch

lbranch ("last branch") is a git utility that shows your recently checked out branches in chronological order, with an optional interactive checkout.

Usage

# Show last 5 branches (default)
lbranch
# Show last N branches
lbranch -n 3
lbranch --number 3
# Show branches and select one to checkout
lbranch -s
lbranch --select
# Show last N branches and select one
lbranch -n 3 -s
# Color control
lbranch --no-color     # Disable colored output
lbranch --force-color  # Force colored output even in non-TTY environments

Example Output

Last 5 branches:
1) feature/new-ui
2) main
3) bugfix/login
4) feature/api
5) develop

Color Support

lbranch automatically detects if your terminal supports colors:

  • Colors are disabled when output is not to a terminal (when piped to a file or another command)
  • Colors are disabled on Windows unless running in a modern terminal (Windows Terminal, VS Code, etc.)
  • You can force colors on with --force-color or off with --no-color
  • lbranch respects the NO_COLOR and FORCE_COLOR environment variables

Exit Codes

lbranch follows the standard exit codes from sysexits.h for better integration with scripts and other tools:

  • 0: Success
  • 64: Command line usage error (not in a git repository, invalid selection)
  • 66: Cannot open input (no branch history/no commits)
  • 69: Service unavailable (git command not found)
  • 75: Temporary failure (branch checkout failed, retry possible)
  • 130: Operation interrupted (Ctrl+C)

These follow Unix conventions where exit codes 64-78 are standardized error codes, and 128+N indicates termination by signal N.

Requirements

  • Python 3.7+
  • Git

Installation

Using pip

You can install lbranch directly from PyPI:

pip install lbranch

Using Homebrew

You can install lbranch using Homebrew:

brew tap dcchuck/lbranch
brew install lbranch

License

Distributed under the MIT License. See LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lbranch-0.1.1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lbranch-0.1.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file lbranch-0.1.1.tar.gz.

File metadata

  • Download URL: lbranch-0.1.1.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for lbranch-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0b7be524958ccb2fbff4acda443c054c7608fd818303023b4b6d49f53ef3f22c
MD5 a2af091137382a87fa0bb1d5b52657c0
BLAKE2b-256 958b3958e303f439dfd3b3f89b58c1d871521d709fb520adea3bb52ea6c48231

See more details on using hashes here.

File details

Details for the file lbranch-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: lbranch-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for lbranch-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 72a22cfc80d1490f70fdc436045ce9f109166574790152544ecbd6c7dd2f954b
MD5 6af75b318ccf6f4f5d8660c0bb676668
BLAKE2b-256 419e6c5111fb51a61b7f614ffa68640bdd0978549a6f4f6f2a068a618024ea18

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page