A command-line tool that makes git easier to use with GitHub.
Перейти к файлу
Mislav Marohnić 30c3cb4fbe Avoid leaving git remotes after `hub cherry-pick`
With the new approach, create a temporary remote, fetch it, and delete
it immediately. Its git objects will still remain to be available for
cherry-picking.
2016-09-12 04:02:59 +02:00
cmd Improve detecting local clone resources 2016-01-22 20:47:51 +11:00
commands Avoid leaving git remotes after `hub cherry-pick` 2016-09-12 04:02:59 +02:00
etc bashcomp: try to load git comp first (fix #592) 2016-03-04 19:18:25 -07:00
features Avoid leaving git remotes after `hub cherry-pick` 2016-09-12 04:02:59 +02:00
fixtures Add template tests 2016-05-30 12:49:53 -07:00
git Fix printing content on Windows after successful run 2016-09-10 23:49:58 +02:00
github Fix Windows compilation issue 2016-09-11 20:44:04 +02:00
script Fix Windows installer for OS usernames with spaces 2016-09-10 18:42:58 +02:00
share/man/man1 Advertise hub-issue(1) and hub-release(1) in man pages 2016-08-21 14:20:10 +02:00
ui Use formatter when listing issues. 2016-05-11 14:39:46 +02:00
utils Add relative date format to `issue` output 2016-08-16 17:29:41 +02:00
vendor Fix 2FA prompt alignment in the terminal 2016-09-11 19:53:57 +02:00
version hub 2.3.0-pre6 2016-09-11 20:45:49 +02:00
.gitignore Move man pages to `share/man/man1/` 2016-08-21 14:20:10 +02:00
.travis.yml Simplify Travis config and fix release process 2016-08-21 15:57:31 +02:00
CONTRIBUTING.md It's Go 1.6 now 2016-08-15 12:21:24 +02:00
Gemfile Include all man pages in packaged releases 2016-01-25 22:49:38 +11:00
Gemfile.lock Delete hub examples and configuration docs from the README 2016-01-25 02:30:47 +11:00
LICENSE MIT 2009-12-08 02:13:06 -08:00
Makefile Advertise hub-issue(1) and hub-release(1) in man pages 2016-08-21 14:20:10 +02:00
README.md It's Go 1.6 now 2016-08-15 12:21:24 +02:00
Vagrantfile Use Go 1.4.2 2015-04-12 13:57:05 -07:00
cucumber.yml Detect tmux and run shell completion tests 2013-11-14 16:05:56 +01:00
main.go Show error to stderr if shelling out failed 2016-09-10 23:08:48 +02:00

README.md

git + hub = github

hub is a command line tool that wraps git in order to extend it with extra features and commands that make working with GitHub easier.

$ hub clone rtomayko/tilt

# expands to:
$ git clone git://github.com/rtomayko/tilt.git

hub is best aliased as git, so you can type $ git <command> in the shell and get all the usual hub features. See "Aliasing" below.

Installation

Dependencies:

  • git 1.7.3 or newer

Homebrew

hub can be installed through Homebrew:

$ brew install hub
$ hub version
git version 1.7.6
hub version 2.2.0

Standalone

hub can be easily installed as an executable. Download the latest compiled binaries and put it anywhere in your executable path.

Source

To install hub from source, you need to have a Go development environment:

$ git clone https://github.com/github/hub.git
$ cd hub
# Assuming `~/bin` is in your PATH:
$ ./script/build -o ~/bin/hub

Or, if you've done Go development before and your $GOPATH/bin directory is already in your PATH:

$ go get github.com/github/hub

Aliasing

Using hub feels best when it's aliased as git. This is not dangerous; your normal git commands will all work. hub merely adds some sugar.

hub alias displays instructions for the current shell. With the -s flag, it outputs a script suitable for eval.

You should place this command in your .bash_profile or other startup script:

eval "$(hub alias -s)"

Shell tab-completion

hub repository contains tab-completion scripts for bash and zsh. These scripts complement existing completion scripts that ship with git.

Installation instructions

Meta

Prior art

These projects also aim to either improve git or make interacting with GitHub simpler: