gethub
gethub copied to clipboard
A utility for cloning and fetching your remote git repositories from GitHub.
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.