Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
hub(1)				      hub				hub(1)

NAME
       hub - make git easier with GitHub

SYNOPSIS
       hub [--noop] COMMAND [OPTIONS]
       hub alias [-s] [SHELL]
       hub help	hub-COMMAND

DESCRIPTION
       Hub is a	tool that wraps	git in order to	extend it with extra
       functionality that makes	it better when working with GitHub.

COMMANDS
       Available commands are split into two groups: those that	are already
       present in git but that are extended through hub, and custom ones that
       hub provides.

   Extended git	commands
       hub-am(1)
	   Replicate commits from a GitHub pull	request	locally.

       hub-apply(1)
	   Download a patch from GitHub	and apply it locally.

       hub-checkout(1)
	   Check out the head of a pull	request	as a local branch.

       hub-cherry-pick(1)
	   Cherry-pick a commit	from a fork on GitHub.

       hub-clone(1)
	   Clone a repository from GitHub.

       hub-fetch(1)
	   Add missing remotes prior to	performing git fetch.

       hub-init(1)
	   Initialize a	git repository and add a remote	pointing to GitHub.

       hub-merge(1)
	   Merge a pull	request	locally	with a message like the	GitHub Merge
	   Button.

       hub-push(1)
	   Push	a git branch to	each of	the listed remotes.

       hub-remote(1)
	   Add a git remote for	a GitHub repository.

       hub-submodule(1)
	   Add a git submodule for a GitHub repository.

   New commands	provided by hub
       hub-alias(1)
	   Show	shell instructions for wrapping	git.

       hub-api(1)
	   Low-level GitHub API	request	interface.

       hub-browse(1)
	   Open	a GitHub repository in a web browser.

       hub-ci-status(1)
	   Display status of GitHub checks for a commit.

       hub-compare(1)
	   Open	a GitHub compare page in a web browser.

       hub-create(1)
	   Create a new	repository on GitHub and add a git remote for it.

       hub-delete(1)
	   Delete a repository on GitHub.

       hub-fork(1)
	   Fork	the current repository on GitHub and add a git remote for it.

       hub-gist(1)
	   Create and print GitHub Gists.

       hub-pull-request(1)
	   Create a GitHub Pull	Request.

       hub-pr(1)
	   Manage GitHub Pull Requests for the current repository.

       hub-issue(1)
	   Manage GitHub Issues	for the	current	repository.

       hub-release(1)
	   Manage GitHub Releases for the current repository.

       hub-sync(1)
	   Fetch git objects from upstream and update local branches.

CONVENTIONS
       Most hub	commands are supposed to be run	in a context of	an existing
       local git repository. Hub will automatically detect the GitHub
       repository that the current working directory belongs to	by scanning
       its git remotes.

       In case there are multiple git remotes that are all pointing to GitHub,
       hub assumes that	the main one is	named "upstream", "github", or
       "origin", in that order of preference.

       When working with forks,	it's recommended that the git remote for your
       own fork	is named "origin" and that the git remote for the upstream
       repository is named "upstream". See
       <https://help.github.com/articles/configuring-a-remote-for-a-fork/>

       The default branch (usually "master") for the current repository	is
       detected	like so:

	   git symbolic-ref refs/remotes/origin/HEAD

       where origin is the name	of the git remote for the upstream repository.

       The destination where the currently checked out branch is considered to
       be pushed to depends on the git config push.default setting. If the
       value is	"upstream" or "tracking", the tracking information for a
       branch is read like so:

	   git rev-parse --symbolic-full-name BRANCH@{upstream}

       Otherwise, hub scans git	remotes	to find	the first one for which
       refs/remotes/REMOTE/BRANCH exists. The "origin",	"github", and
       "upstream" remotes are searched last because hub	assumes	that it's more
       likely that the current branch is pushed	to your	fork rather than to
       the canonical repo.

CONFIGURATION
   GitHub OAuth	authentication
       Hub will	prompt for GitHub username  password the first time it needs
       to access the API and exchange it for an	OAuth token, which it saves in
       ~/.config/hub.

       To avoid	being prompted,	use GITHUB_USER	and GITHUB_PASSWORD
       environment variables.

       Alternatively, you may provide GITHUB_TOKEN, an access token with repo
       permissions. This will not be written to	~/.config/hub.

   HTTPS instead of git	protocol
       If you prefer the HTTPS protocol	for git	operations, you	can configure
       hub to generate all URLs	with https: instead of git: or ssh::

	   $ git config	--global hub.protocol https

       This will affect	clone, fork, remote add	and other hub commands that
       expand shorthand	references to GitHub repo URLs.

   GitHub Enterprise
       By default, hub will only work with repositories	that have remotes
       which point to github.com. GitHub Enterprise hosts need to be
       whitelisted to configure	hub to treat such remotes same as github.com:

	   $ git config	--global --add hub.host	MY.GIT.ORG

       The default host	for commands like init and clone is still github.com,
       but this	can be affected	with the GITHUB_HOST environment variable:

	   $ GITHUB_HOST=my.git.org git	clone myproject

   Environment variables
       HUB_VERBOSE
	   If this environment variable	is set,	verbose	logging	will be
	   printed to stderr.

       HUB_CONFIG
	   The file path where hub configuration is read from and stored. If
	   XDG_CONFIG_HOME is present, the default is $XDG_CONFIG_HOME/hub;
	   otherwise it's $HOME/.config/hub. The configuration file is also
	   searched for	in XDG_CONFIG_DIRS per XDG Base	Directory
	   Specification.

       HUB_PROTOCOL
	   One of "https", "ssh", or "git" as preferred	protocol for git
	   clone/push.

       GITHUB_HOST
	   The GitHub hostname to default to instead of	"github.com".

       GITHUB_TOKEN
	   OAuth token to use for GitHub API requests.

       GITHUB_USER
	   The GitHub username of the actor of GitHub API operations.

       GITHUB_PASSWORD
	   The GitHub password used to exchange	user credentials for an	OAuth
	   token that gets stored in hub configuration.	If not set, it may be
	   interactively prompted for on first run.

       GITHUB_REPOSITORY
	   A value in "OWNER/REPO" format that specifies the repository	that
	   API operations should be performed against. Currently only used to
	   infer the default value of GITHUB_USER for API requests.

BUGS
       <https://github.com/github/hub/issues>

AUTHORS
       <https://github.com/github/hub/contributors>

SEE ALSO
       git(1), git-clone(1), git-remote(1), git-init(1),
       <https://github.com/github/hub>

2.14.2									hub(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=hub&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help