A command-line tool to display the status of multiple Git repositories in a clear, tabular format.
- Scans directories recursively for Git repositories
- Displays status (clean/dirty, branch, etc.) in a table
- Fast and user-friendly CLI
- Useful for developers managing many repositories
You need Rust installed.
cargo install git-statuses
Installation with cargo-binstall
:
cargo binstall git-statuses
Or clone and build manually:
git clone https://github.com/bircni/git-statuses.git
cd git-statuses
cargo build --release
Run in any directory to scan for Git repositories:
A tool to display git repository statuses in a table format
Usage: git-statuses.exe [OPTIONS] [DIR]
Arguments:
[DIR] Directory to scan [default: .]
Options:
-d, --depth <DEPTH> Recursively scan all subdirectories to the given depth. If set to 1, only the current directory is scanned [default: 1]
-r, --remote Show remote URL
-c, --condensed Use a condensed layout
--summary Show a summary of the scan
-f, --fetch Run a fetch before scanning to update the repository state Note: This may take a while for large repositories
-l, --legend Print a legend explaining the color codes and statuses used in the output
-s, --subdir <SUBDIR> Look in a specific subdir if it exists for each folder This can be useful, if you don't checkout in a folder directly but in a subfolder like `repo-name/checkout`
-h, --help Print help
-V, --version Print version
The tool prints a table with the following columns:
- Path
- Branch
- Status (clean/dirty)
- Ahead/Behind
- Requires Rust 1.88+ (edition 2024)
- Linting:
cargo clippy
- Tests:
cargo test
Contributions are welcome! Please open issues or pull requests.