~ / gip / overview
v0.6.0 linux · mac · windows
v0.6.0 linux · mac · windows MIT

$All your repos. One command.

gip runs git operations in parallel across every repository in a YAML or JSON config file — pull, fetch, status, branch, and arbitrary commands — with tag filtering, JSON output, and dry-run mode.

parallel execution tag filtering JSON output
gip pull --tag work -j 8
8 repos · 3.4s
frontend    Already up to date.
backend     Already up to date.
infra       Already up to date.
auth-svc    Already up to date.
api-gw      Already up to date.
dashboard   Already up to date.
worker      Already up to date.
scheduler   Already up to date.
─────────────────────────────────
OK: 8   Errors: 0   Skipped: 0   3.4s

Manage dozens of repos as if they were one.

A single config file, a single command. gip handles the rest in parallel.

01 Parallel execution

All git operations run concurrently across your repositories. Control concurrency with -j and set per-repo timeouts with --timeout.

gip pull -j 16 -t 60
02 Tag filtering

Label repos with tags and target subsets with --tag. OR logic: a repo matching any of the requested tags is included.

gip status --tag work,js
03 JSON output

Machine-readable output with --json: a single envelope with per-repo status, summary counts, and any config warnings.

gip --json status | jq .summary
04 Arbitrary exec

Run any shell command inside every project directory. Output is synchronized so lines from different repos don't interleave.

gip exec -- make test

gip is a cross-platform CLI that runs git operations in parallel across every repository registered in a YAML or JSON configuration file.

PageDescription
Getting StartedInstall and run your first command
ConfigurationConfig file format, fields, tags, lookup cascade
CommandsFull command reference with examples
Flags & OutputGlobal flags, output modes, tag filtering