A command-line tool to run scripts across multiple Git repositories and automatically create pull requests for changes.
Multi-gitter is a command-line tool that automates making changes across multiple Git repositories. It solves the problem of manually applying updates, refactors, or fixes to many repositories by running a script in each and creating pull requests automatically. This is essential for organizations managing monorepos or multiple codebases.
Developers, DevOps engineers, and platform teams who need to perform repetitive updates across many repositories, such as dependency upgrades, linting fixes, or syncing configuration files.
Developers choose Multi-gitter for its flexibility in supporting any scripting language, its robust automation of the entire PR workflow, and its compatibility with multiple Git hosting platforms, saving significant manual effort.
Update multiple repositories in with one command
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Multi-gitter can run any script or program (Bash, Node.js, Python, etc.) in each repository, as evidenced by the README's examples for various languages and the claim 'If you can script it to run in one place, you can run it in all your repositories.'
It not only creates pull requests but also manages merging, status checking, and closing with commands like merge, status, and close, streamlining the entire process across multiple repos.
Supports GitHub, GitLab, Gitea, Bitbucket, and Gerrit, allowing teams to use it across different Git hosting services, with configurable base URLs for enterprise instances.
Includes dry-run and interactive modes to test scripts and review changes before committing, reducing the risk of errors, as demonstrated in the README with --dry-run and --interactive flags.
Bitbucket Cloud support is marked as Beta in the README, with acknowledged limitations like inconsistent forking behavior, slower performance for large workspaces, and incomplete project filtering.
Using SSH authentication requires pre-configured SSH keys and known_hosts setup, which is more cumbersome than token-based auth and noted as requiring 'a setup with ssh keys that have access to all repos.'
The tool relies entirely on user-provided scripts; if a script fails or has side effects, Multi-gitter only checks exit codes and may not provide robust error handling or rollback mechanisms for partial successes.