git-ready is a tool for quickly joining an organization on GitHub.
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.
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.
- Fork repository.
- Make changes.
- Test changes.
- Push changes to
origin
- Submit Pull Request to
upstream
- Code Review
- Merge
gem install git-ready
git-ready <organization>
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.
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 with brew install cmake
, brew install libgit2 --with-libssh2
.
Also, private key has to be registered in keychain in order to repo cloning works.