RSMultiGit - Rust Multi-Git
A fast CLI tool for managing multiple git repositories at once, written in Rust. RSMultiGit is a rewrite of pymultigit with native performance.
Features
- Configured repository list — the repos to operate on come from glob
patterns in
~/.config/rsmultigit/config.toml, so every command sees the same fleet no matter where it is run from - Native git inspection — status, dirty, untracked and sync checks use
libgit2 in-process, avoiding a
gitsubprocess per repo - Bulk operations — pull, push, fetch, diff, grep, clean, commit, stash, reset, and branch inspection across all repos
- Consistency checks —
check sameverifies that shared files are byte-identical across the fleet,check existsverifies that required files are present, and interactive--diff,--copyand--fix-missingmodes repair drift - Build orchestration — run make, rsconstruct, cargo, or bootstrap across
all projects, with each repo’s
.venvactivated automatically - Tooling passthrough —
uv lock|sync|build|publish,cargo build|clippy|fmt|test|update|...,npm install|ci|update|audit|...,cargo release, andghcleanup on the repos where they apply - Parallel execution —
-j Nruns repos concurrently while output stays in repo order - Flexible output — verbose, terse, headerless, and inverted-selection modes
- Error control — stop on the first error or continue through all
projects with
--no-stop
Philosophy
RSMultiGit does one thing well: it runs a single operation across a fixed set of git repositories and prints only what needs attention. The repository list lives in one config file, so a fleet of hundreds of repos is one command away from anywhere.