A command-line tool that makes git easier to use with GitHub.
Перейти к файлу
Mislav Marohnić a1f79d8876 Improve finding git remote to fetch from in new `checkout`
The remote needs to match the base project from the pull request.
2016-08-20 22:54:32 +02:00
cmd Improve detecting local clone resources 2016-01-22 20:47:51 +11:00
commands Improve finding git remote to fetch from in new `checkout` 2016-08-20 22:54:32 +02:00
etc bashcomp: try to load git comp first (fix #592) 2016-03-04 19:18:25 -07:00
features Improve finding git remote to fetch from in new `checkout` 2016-08-20 22:54:32 +02:00
fixtures Add unit tests for git.Remotes() and github.Remotes(). 2015-11-02 15:55:05 -08:00
git Expand environment variables in GIT_EDITOR value 2016-08-07 23:55:56 +02:00
github Improve finding git remote to fetch from in new `checkout` 2016-08-20 22:54:32 +02:00
man List hub commands in main man page 2016-01-25 02:30:47 +11:00
script Avoid installing man pages with executable permissions 2016-08-07 23:55:56 +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 Update go-isatty to latest for netbsd support 2016-02-28 00:15:56 +09:00
version Add hub version to crash report 2015-09-27 10:58:29 -07:00
.gitignore Makefile galore! 2016-01-25 15:58:17 +11:00
.travis.yml Upgrade to Go 1.6 2016-08-07 23:55:53 +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 Add `hub release show <TAG>` 2016-01-31 18:57:44 +11: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 Change namespace to github/hub 2014-02-10 08:29:03 -08: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: