A command-line tool that makes git easier to use with GitHub.
Перейти к файлу
Bernhard M. Wiedemann 66399a4e3a Speed up man page generation
by a factor of 3
Without this patch, using make -j
built every man page and html page 25 times

Now, man pages are always generated in a single ronn call
after all .ronn files are made.

Workarounds GNU make bug https://savannah.gnu.org/bugs/?54854
2018-10-17 14:28:32 +02:00
.ctags.d Rename `ctags` file for compatibility with universal-ctags 2018-06-06 14:00:17 +02:00
cmd Avoid `copy` when making a subslice 2018-05-29 12:31:14 +02:00
commands Fixed CI status check exit code. 2018-10-10 11:57:49 +02:00
coverage Measure code coverage between tests 2018-06-07 14:44:56 +02:00
etc Have `ci-status` also query Checks API 2018-07-07 14:37:41 +02:00
features Use canonical repo for `hub release` operations 2018-09-27 11:51:54 +02:00
fixtures fmt 2018-06-12 00:36:41 +02:00
git No commit signature in default pull request message 2018-01-29 22:40:36 +01:00
github First attempt at adding tests 2018-08-28 13:51:33 -05:00
script Test install script in CI 2018-06-14 12:04:31 +02:00
share/man/man1 Clarify `hub merge` behavior 2018-09-03 14:28:44 +02:00
ui spelling: indicate 2017-11-08 02:38:45 +00:00
utils Add relative date format to `issue` output 2016-08-16 17:29:41 +02:00
vendor Migrate from gopkg.in/yaml.v1 to gopkg.in/yaml.v2 2018-06-15 00:21:54 -06:00
version hub 2.5.1 2018-08-23 15:59:27 +02:00
.agignore Ignore `bundle/` directory when searching 2018-02-21 13:40:34 +01:00
.gitattributes Enforce unix eol in bash script files 2017-09-02 20:55:54 +01:00
.gitignore Avoid `dep` clashing with Bundler 2018-01-29 20:59:23 +01:00
.travis.yml Test with Go 1.11 2018-08-29 16:42:15 +02:00
CODE_OF_CONDUCT.md Improve contact email, part 2 2017-08-28 21:47:08 +02:00
CONTRIBUTING.md docs: remove explicit reference to name of obsolete code of conduct in link 2018-08-06 10:30:15 -04:00
Gemfile Include all man pages in packaged releases 2016-01-25 22:49:38 +11:00
Gemfile.lock Update Sinatra for Ruby 2.4 compatibility 2018-06-08 21:05:14 +02:00
Gopkg.lock Migrate from gopkg.in/yaml.v1 to gopkg.in/yaml.v2 2018-06-15 00:21:54 -06:00
Gopkg.toml Migrate from gopkg.in/yaml.v1 to gopkg.in/yaml.v2 2018-06-15 00:21:54 -06:00
LICENSE MIT 2009-12-08 02:13:06 -08:00
Makefile Speed up man page generation 2018-10-17 14:28:32 +02:00
README.md Remove instructions about Chocolatey on Windows 2018-07-07 15:07:27 +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 Enforce go1.8+ via build flags too 2017-05-17 13:34:13 +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.

See Usage documentation for the list of all commands and their arguments.

Installation

Dependencies:

  • git 1.7.3 or newer

Homebrew

hub can be installed through Homebrew on macOS:

$ brew install hub
$ hub version
git version 1.7.6
hub version 2.2.3

Windows

hub can be installed through Scoop on Windows:

> scoop install hub

Fedora Linux

On Fedora you can install hub through DNF:

$ sudo dnf install hub
$ hub version
git version 2.9.3
hub version 2.2.9

Arch Linux

On Arch Linux you can install hub from official repository:

$ sudo pacman -S hub

Standalone

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

Source

With your GOPATH already set up:

$ go get github.com/github/hub
$ cd "$GOPATH"/src/github.com/github/hub
$ make install prefix=/usr/local

Prerequisites for compilation are:

  • make
  • Go 1.8+
  • Ruby 1.9+ with Bundler - for generating man pages

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)"

PowerShell

If you're using PowerShell, you can set an alias for hub by placing the following in your PowerShell profile (usually ~/Documents/WindowsPowerShell/Microsoft.PowerShell_profile.ps1):

Set-Alias git hub

A simple way to do this is to run the following from the PowerShell prompt:

Add-Content $PROFILE "`nSet-Alias git hub"

Note: You'll need to restart your PowerShell console in order for the changes to be picked up.

If your PowerShell profile doesn't exist, you can create it by running the following:

New-Item -Type file -Force $PROFILE

Shell tab-completion

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

Installation instructions

Meta