Introduction
Git operations, orchestrated at scale.
Git Wrangler is a cross-platform Go CLI for coordinating dozens of Git repositories in parallel. It is built for maintainers who regularly need to inspect, pull, commit, push, rename, or rewrite history across a group of related repositories.
Managing many related Git repositories by hand is repetitive, slow, and easy to get wrong. Git Wrangler turns that workspace into one coordinated unit.
What it does
Git Wrangler provides a Git-like command surface:
git-wrangler <command> [flags]
Run commands from a workspace root and Git Wrangler discovers repositories below the current directory. Use --repo <path> on repository commands when you want to target exactly one repository instead of discovering everything below the current directory.
Remote-aware commands such as status, info, review, and history rewrite planning refresh origin by default before inspecting remote-tracking refs. Use --no-fetch for offline or local-only runs.
Remote pull, fetch, push, and automatic origin-refresh operations have a 30-second timeout per repository. A timeout fails that repository without blocking the remaining bulk run.
Most repository workflow commands support --guided, which prompts for command-specific options and prints the selected configuration before execution:
git-wrangler push --guided
git-wrangler rewrite-dates --guided
Guided workflows require both stdin and stderr to be terminals, cannot be combined with --json, and print the selected configuration to stderr. Missing required values prompt automatically in a terminal and fail in noninteractive runs. --yes and -y skip confirmations only; they never supply missing values. Press Ctrl+C or Ctrl+D at any active prompt to cancel immediately, stop later prompts and work, and exit nonzero.
What it gives you
- One command, many repositories — run common Git workflows across every repo.
- Parallel execution, stable output — fast runs without chaotic terminal output.
- Aggregated activity calendars — inspect commit activity across an entire workspace.
- AI-assisted commits — generate Conventional Commit messages from diffs.
- Safer history rewrites — rewrite metadata or remove secrets with confirmations.
- GitHub workflows — clone, rename, and manage repositories through
gh. - Single binary — portable Go executable; GitHub and history workflows use standard tools like
ghandgit-filter-repo.
Quick start
# 1. Set up GitHub auth and AI credentials
git-wrangler init
# 2. Verify your setup
git-wrangler doctor
# 3. Check state across all repos in the current directory
git-wrangler status
# 4. See the full command list
git-wrangler help
Safety basics
Git Wrangler is built for bulk Git operations, where small mistakes can affect many repositories at once.
- AI commands redact diff content before sending it to the configured API endpoint.
commitprepares context with a temporary index and stages the real index only after valid AI messages are available.- History rewrite commands ask before changing history. Use
--yesor-yonly for intentional noninteractive runs; it skips confirmations but never fills required values. push --forceuses--force-with-lease; raw force push requires--force-unsafe.- Per-repository failures do not stop the whole run. Git Wrangler reports all failures and exits nonzero if anything failed.
- History rewrite commands restore the
originremote aftergit-filter-reporemoves it. rewrite-dates --rollbackrestores the first stored original baseline, even after repeated date rewrites.
Command categories
Remote operations cover cloning, fetching, pulling, pushing, and GitHub repository renames.
Local operations cover repository maintenance such as AI-powered commits, reviews, license files, branch renames, resets, gitignore fixes, and ignore cleanup.
History rewriting covers author, date, AI-powered message rewriting, and secret-removal rewrites.
Utility commands cover activity calendars, setup, configuration, doctor checks, repository information, status checks, version metadata, and completions.