gfold
gfold
is a CLI-driven application that helps you keep track of multiple Git repositories.
Description
This app displays relevant information for multiple Git repositories in one to many directories. While this tool might seem limited in scope and purpose, that is by design.
It prints each repository in alphabetical order, and pads each result based on the longest directory, branch, and status string.
By default, gfold
looks at every Git repository via traversal from the current working directory.
However, if you would like to target another directory, you can pass that path (relative or absolute) as the first argument.
Installation
There are multiple methods for installing gfold
.
Homebrew (macOS only)
You can use Homebrew to install the tap.
Notes:
- The original tap will no longer be maintained after version
2.0.1
. Please migrate to the new tap. - Both the current and deprecated taps may not work with Linuxbrew.
AUR
You can use a Linux distribution that supports installing packages from the AUR, Arch User Respository, to install the following:
Many people choose to use an AUR helper, such as yay or paru, in order to install their AUR packages.
Cargo (recommended)
You can use cargo to install the crate on almost any platform.
Keeping the crate up to date is easy with cargo-update.
Binary from a Release
If you do not want to use one of the above installation methods, you can download a binary from the releases page.
The following convenience script can be used on macOS and Linux amd64 systems (requires wget
, jq
, and curl
to be installed):
(
OS=
if [; then OS=linux-gnu; fi
LATEST=
)
Note: the above convenience script does not verify the binary with a checksum. Discretion is advised.
Usage
Pass in the -h
, or --help
, flag to see all the options for using this application.
Compatibility
gfold
is intended to be ran on any tier one Rust target.
Please file an issue if your platform is unsupported.
Troubleshooting
If fold
from GNU Coreutils is installed on macOS via brew
, it will be named gfold
.
You can avoid this collision with shell aliases, shell functions, and/or PATH
changes.
Here is an example with the o
dropped from gfold
: