hub(1)

  1. hub(1)
  2. Git Manual
  3. hub(1)

NAME

hub -- git + hub = github

SYNOPSIS

hub COMMAND OPTIONS
hub alias [-s] SHELL

git init -g OPTIONS
git clone [-p] OPTIONS [USER/]REPOSITORY DIRECTORY
git remote add [-p] OPTIONS USER[/REPOSITORY]
git browse [-p] [USER/]REPOSITORY

DESCRIPTION

hub enhances various git commands with GitHub remote expansion. The alias command displays information on configuring your environment:

hub alias [-s] SHELL
Writes shell aliasing code for SHELL (bash, sh, zsh, csh) to standard output. With the -s option, the output of this command can be evaluated directly within the shell: eval $(hub alias -s bash)

After configuring the alias, the following commands have superpowers:

git init -g OPTIONS

Create a git repository as with git-init(1) and add remote origin at "git@github.com:USER/REPOSITORY.git"; USER is your GitHub username and REPOSITORY is the current working directory's basename.

git clone [-p] OPTIONS [USER/]REPOSITORY DIRECTORY

Clone repository "git://github.com/USER/REPOSITORY.git" into DIRECTORY as with git-clone(1). When USER/ is omitted, assumes your GitHub login. With -p, use private remote "git@github.com:USER/REPOSITORY.git".

git remote add [-p] OPTIONS USER[/REPOSITORY]

Add remote "git://github.com/USER/REPOSITORY.git" as with git-remote(1). When /REPOSITORY is omitted, the basename of the current working directory is used. With -p, use private remote "git@github.com:USER/REPOSITORY.git".

git push REMOTE-1,REMOTE-2,...,REMOTE-N REF

Push REF to each of REMOTE-1 through REMOTE-N by executing multiple git push commands.

git browse [-p] [USER/]REPOSITORY

Open repository's GitHub page in the system's default web browser using open(1) or the BROWSER env variable. Use -p to open a page with https.

git help

Display enhanced git-help(1).

CONFIGURATION

Use git-config(1) to display the currently configured GitHub username:

$ git config --global github.user

Or, set the GitHub username with:

$ git config --global github.user <username>

See http://github.com/guides/local-github-config for more information.

You can also tell hub to use http:// rather than git:// when cloning:

$ git config --global --add hub.http-clone yes

EXAMPLES

git clone

$ git clone schacon/ticgit
> git clone git://github.com/schacon/ticgit.git

$ git clone -p schacon/ticgit
> git clone git@github.com:schacon/ticgit.git

$ git clone resque
> git clone git://github.com/YOUR_USER/resque.git

$ git clone -p resque
> git clone git@github.com:YOUR_USER/resque.git

git remote add

$ git remote add rtomayko
> git remote add rtomayko git://github.com/rtomayko/CURRENT_REPO.git

$ git remote add -p rtomayko
> git remote add rtomayko git@github.com:rtomayko/CURRENT_REPO.git

git init

$ git init -g
> git init
> git remote add origin git@github.com:YOUR_USER/REPO.git

git push

$ git push origin,staging,qa bert_timeout
> git push origin bert_timeout
> git push staging bert_timeout
> git push qa bert_timeout

git browse

$ git browse schacon/ticgit
> open http://github.com/schacon/ticgit

$ git browse -p schacon/ticgit
> open http://github.com/schacon/ticgit

$ git browse resque
> open http://github.com/YOUR_USER/resque

$ git browse -p resque
> open https://github.com:YOUR_USER/resque

git help

$ git help
> (improved git help)
$ git help hub
> (hub man page)

BUGS

http://github.com/defunkt/hub/issues

AUTHOR

Chris Wanstrath :: chris@ozmm.org :: @defunkt

SEE ALSO

git(1), git-clone(1), git-remote(1), git-init(1), http://github.com, http://github.com/defunkt/hub

  1. DEFUNKT
  2. January 2010
  3. hub(1)