A utility for cloning and fetching your remote git repositories from GitHub.
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]
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
owner: adobe
from https://github.com/pearkes/gethub