A CLI tool that recursively finds and updates all git repositories in a directory.
dotnet tool install -g git-pull-all
dotnet tool install -g git-fetch-all# Pull all repos under the current directory
git pull-all
# Pull all repos under a specific path
git pull-all ~/github
# Only fetch, don't merge
git fetch-all
# Run sequentially for predictable output ordering
git pull-all --sequential
# Limit parallelism
git pull-all -j 4
# Pass extra arguments to git
git fetch-all -- --all --prune- Recursively searches for directories containing
.git - Detects regular repos, linked worktrees, and bare repo worktree layouts (e.g. from git-wt)
git-pull-allrunsgit pullin each repo (respects your git config likepull.rebase)git-fetch-allrunsgit fetchin each repo- Parallel by default for speed,
--sequentialfor deterministic ordering - Worktrees sharing the same repository only fetch once
| Option | Description |
|---|---|
path |
Root directory to search (default: current directory) |
-s, --sequential |
Run sequentially for predictable ordering |
-j, --max-parallelism |
Maximum concurrent operations (default: CPU count) |
--color |
Force colored output even when piped |
--no-color |
Disable colored output |
-- <args> |
Extra arguments to pass to the git command |