• Stars
    star
    217
  • Rank 182,446 (Top 4 %)
  • Language
    Go
  • License
    MIT License
  • Created over 11 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A utility for cloning and fetching your remote git repositories from GitHub.

gethub

Overview

Build Status

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.

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
  1. Checks to see if the necessary requirements for gethub exist, like it's ~/.gethubconfig file.
  2. Makes sure the path to your repositories looks ok.
  3. Clones any repositories that are missing.
  4. 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.

More Repositories

1

findi

A port of a port of sosumi. Find your iPhone through Apple's API's.
Python
62
star
2

discourse-terraform

A set of Terraform configurations to launch Discourse on DigitalOcean
36
star
3

nginx-to-librato

Flush metrics from the HTTP nginx status page to Librato metrics
Go
20
star
4

findi-heroku-example

A simple example of how to use findi to keep track of your iPhone's location.
Python
16
star
5

stripe-hooks

A low-configuration service for sending notifications and receipts based on Stripe webhooks.
Python
16
star
6

digitalocean

A Go digitalocean library
Go
15
star
7

cloudflare

A Go Cloudflare library
Go
12
star
8

heroku-buildpack-pelican

A Heroku buildpack for hosting static sites generated by pelican and served by apache.
Python
9
star
9

up-server

A service for monitoring the uptime of your web applications, written in Go.
Go
7
star
10

sv-fetcher

The background worker for Small Victories.
Go
5
star
11

dnsimple

A Go DNSimple library
Go
5
star
12

sv-frontend

The frontend website for Small Victories.
CSS
5
star
13

shopify-metafields

For editing metafields for shopify products, collections et al. Why doesn't their admin panel do this? Where are we going? What is the sea? The universe?
Ruby
5
star
14

ircrelay-status

A status page for IRCRelay.
CSS
4
star
15

linode

A Go Linode library
Go
4
star
16

heroku-buildpack-gostatic

A Heroku buildpack for gostatic, the static site builder written in go.
Racket
3
star
17

stripe-hooks-emails

The email content for the stripe-hooks application, fork me and change your .gitmodules!
2
star
18

up-client-python

A basic Python client for Up.
Python
1
star
19

singer

Make a free album preview website for your band.
JavaScript
1
star