git-ready
git-ready is a tool for quickly joining an organization on GitHub.
Description
git-ready
does three things:
- Forks all repositories of the organization to your account.
- Clones the forked repositories locally.
- Configures an
upstream
remote for each repository, for convenient fetching.
It can be run again without concern. It will only fork and clone missing repositories.
Why would you want this?
For a team that uses a Fork + Pull Request workflow, and has a large number of
repositories, git-ready
is a simple way to onboard new team members.
Example Workflow
- Fork repository.
- Make changes.
- Test changes.
- Push changes to
origin
- Submit Pull Request to
upstream
- Code Review
- Merge
Installation
gem install git-ready
Usage
git-ready <organization>
Configuration
git-ready
will search for configuration files in the following places:
/etc/git-ready.yaml
/usr/local/etc/git-ready.yaml
~/.config/git-ready.yaml
./git-ready.yaml
These will be loaded in order, and any conflicting keys will be overwritten.
If no configuration is found, git-ready
will enter Interactive Setup Mode,
and attempt to guide you through setup. It will prompt for your GitHub
username and password, so it can issue itself an auth token (with repo
scope
only) for future use. This will be written to the configuration file.
If your GitHub account uses 2-Factor Authentication, git-ready
will prompt
you for a 2FA token.
If you would prefer to set up an auth token manually, that is supported too.
OSX Installation Issues?
One of the gems used by git-ready
(rugged), requires cmake
and libgit2
to build. On OSX, this isn’t installed by default, but can easily be resolved:
brew install cmake
brew install --with-libssh2 libgit2
Also, private key has to be registered in keychain in order to repo cloning works.
License
git-ready
is available under the MIT License. See LICENSE.txt
for the full text.