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

https://github.com/egarcia74/gitall

Run a Git command across many sibling repositories with optional interactive selection, parallel execution, grouping/prefixing, and JSON summaries.
https://github.com/egarcia74/gitall

bash git

Last synced: about 2 months ago
JSON representation

Run a Git command across many sibling repositories with optional interactive selection, parallel execution, grouping/prefixing, and JSON summaries.

Awesome Lists containing this project

README

          

# gitall

[![CI](https://github.com/egarcia74/gitall/actions/workflows/ci.yml/badge.svg)](https://github.com/egarcia74/gitall/actions/workflows/ci.yml)

Run a Git command across many sibling repositories with optional interactive selection, parallel execution, grouping/prefixing, and JSON summaries.

## Install

Option 1: source in your shell (functions + wrappers)

```bash
[ -f ./lib/gitall.sh ] && . ./lib/gitall.sh
```

Option 2: CLI via bin wrapper

```bash
# Add bin/ to your PATH, or symlink
ln -sf "$PWD/bin/gitall" /usr/local/bin/gitall
```

Direct run (dual-mode):

```bash
bash lib/gitall.sh --help
```

## Usage

```bash
# Example: fetch from all repos in parallel (long-form options)
gitall --all --parallel -- fetch --all --prune

# Example: show status only in repos with changes, with JSON summary
gitall --all --only-dirty --json-summary -- status -s

# Example: group output by repo for easier reading
gitall --all --group-output -- log --oneline -n 3
```

Wrappers: `gitall-status`, `gitall-fetch`, `gitall-pull`, `gitall-push`, `gitall-prune-local-branches`, `gitall-gc`, `gitall-sync`.

See [`docs/gitall.md`](docs/gitall.md) for full documentation (options, config file, JSON summary, examples).