git-multi
Summary
Execute the same git
command in a set of related repos.
There are plenty of other utilities out there that do something similar, but typically they only support a limited number of hard-coded git
commands which can be executed in multiple repositories.
git-multi
is different: any git
command (including any git
extensions you may have installed or any git
aliases you may have defined) can be executed in multiple repositories.
git-multi
only concerns itself with iterating over the set of related repos; what it executes in each of them is completely up to you.
Features
- execute any
git
command, extension and alias in multiple repositories (not just a limited set of pre-packaged commands) - human-friendly output in interactive mode (akin to git porcelain commands), for every day use
- machine parseable output in non-interactive mode (akin to git plumbing commands), for advanced scripting and automation
Prerequisites
git-multi
is a Ruby script, so you will have to have Ruby installed on your system (system Ruby, RVM, rbenv, etc).
git-multi
is also tightly coupled to your GitHub account (via the github API), so you will also need to generate a so-called personal access token and install it in your git config (instructions provided below).
Installation
$ gem install git-multi
Usage
Installing the gem installs the git-multi
executable on your system's ${PATH}
, which means it can be run as a so-called git subcommand, as follows: git multi
; a good starting point is:
$ git multi --help
Known Issues
- it probably doesn't work on Windows
Contributing
- Fork it ( https://github.com/pvdb/git-multi/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request