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

  1. it probably doesn't work on Windows

Contributing

  1. Fork it ( https://github.com/pvdb/git-multi/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request