gethub
Overview
gethub
helps you keep all of your git repositories that have GitHub
remotes up to date.
Installation
You can download a binary, deb
or exe
, depending on your platform.
- darwin/386: [binary]
- darwin/amd64: [binary]
- linux/386: [deb] [binary]
- linux/amd64: [deb] [binary]
- linux/arm: [deb] [binary]
- windows/386: [exe]
- windows/amd64: [exe]
To determine your platform:
uname -sm
On Darwin, you can copy the binary to your bin:
cp ~/path/to/gethub /usr/local/bin/
Or, if you have Go installed:
go install github.com/pearkes/gethub
Getting Started
$ gethub authorize
This asks you where you want to clone your repositories as well as creating an OAuth token for future GitHub requests.
The next time you run a gethub
, all of your new repositories
will be cloned and your existing repositories will be fetched.
It's useful if you have a lot of repos and may not have an internet connection.
Never leave home without running gethub
.
Directory Structure
It's opinionated about how you organize your repositories.
βββ pearkes
βΒ Β βββ gethub
βΒ Β βββ tugboat
βΒ Β βββ jack.ly
βββ mitchellh
βΒ Β βββ vagrant
βββ amadeus
βΒ Β βββ html7
βββ someorg
βΒ Β βββ bigproject
βββ someotherorg
βββ biggerproject
Basically, your repositories will be name-spaced according to who the owner is on GitHub.
Behind the Curtain
$ gethub
- Checks to see if the necessary requirements for
gethub
exist, like it's~/.gethubconfig
file. - Makes sure the path to your repositories looks ok.
- Clones any repositories that are missing.
- Runs
git fetch
in repositories that exist.
Configuration
Configuration is stored in a .gethubconfig
file in your home directory.
(~/.gethubconfig
)
Ignored Repositories
Sometimes you don't want to retrieve that gigantic project that
someone committed .mov
files to.
[ignores]
repo: icloud, facebook, pearkes/bootstrap
owner: adobe
Contributing
Check out the contributing guide.