A command-line tool that makes git easier to use with GitHub.
This is a long-awaited release of hub with an abudance of new features. Thank you everyone for testing out prereleases, reporting bugs, and submitting pull requests! The work of 76 contributors went into this release. ✨
To upgrade hub on macOS, run brew upgrade hub
. Alternatively, you can download one of the provided precompiled binaries. See other installation methods.
hub issue
: list and create issues and labels
Usage: hub issue [-a <ASSIGNEE>] [-c <CREATOR>] [-@ <USER>] [-s <STATE>] [-f <FORMAT>] [-M <MILESTONE>] [-l <LABELS>] [-d <DATE>] [-o <SORT_KEY> [-^]] [-L <LIMIT>]
hub issue create [-oc] [-m <MESSAGE>|-F <FILE>] [-a <USERS>] [-M <MILESTONE>] [-l <LABELS>]
hub issue labels [--color]
hub pr list
: list pull requests for the current repository
hub pr checkout <NUMBER>
: checkout a pull request by its number
hub release
: list, create, edit, and delete releases and attachments
Usage: hub release [--include-drafts] [--exclude-prereleases] [-L <LIMIT>]
hub release show <TAG>
hub release create [-dpoc] [-a <FILE>] [-m <MESSAGE>|-F <FILE>] [-t <TARGET>] <TAG>
hub release edit [<options>] <TAG>
hub release delete <TAG>
hub sync
: fetch updates from remote repository and sync all local branches to their upstream equivalents, purging merged ones
hub pull-request
now has the ability to set assignees, labels, reviewers, and milestones.
Usage: hub pull-request [-focp] [-b <BASE>] [-h <HEAD>] [-r <REVIEWERS> ] [-a <ASSIGNEES>] [-M <MILESTONE>] [-l <LABELS>]
hub pull-request -m <MESSAGE>
hub pull-request -F <FILE> [--edit]
hub pull-request -i <ISSUE>
hub pull-request
and hub issue create
now support pull request and issue templates.
Commands that print the resulting URL, such as hub pull-request
or hub create
, now accept --copy
to put the URL to the system clipboard instead.
hub pull-request --push
pushes the head branch to the remote before opening the pull request.
hub pull-request
now strips away the Signed-off-by
line and the commit signature when generating the default pull request message.
Commands that take input via -m
or -F
arguments now also respect --edit
to additionally edit the text in a text editor before submitting.
Support core.commentchar=auto
git configuration when editing pull request/issue/release message in a text editor.
Support /OWNER/REPO/pull/XYZ/commits/SHA
format of URLs as argument to cherry-pick
, am
, and apply
.
Commands such as cherry-pick
, merge <PR-URL>
, and checkout <PR-URL>
don't leave leftover git remotes anymore.
New hub compare -b BASE
flag.
New hub fork --org=ORGANIZATION
flag.
New hub fork --remote-name=NAME
flag to configure the new git remote.
New, manpage-based help system; see hub help hub
and hub help hub-<command>
.
Added fish shell completion script.
When prompted to authenticate with username/password, pasting a Personal Access Token now works just as well instead of the password.
hub release --exclude-prereleases
hub fork --remote-name=NAME
hub pr checkout 123
as alternative to hub checkout https://github.com/OWNER/REPO/pull/123
hub pull-request -r PERSON1,PERSON2
to request reviewershub pull-request
or hub issue create
WorkdirName
when within bare git repogit --(exec|html|man|info)-path
git version
failsFeatures:
hub pull-request --push
hub issue --include-pulls
hub fork --org=ORGANIZATION
parameterhub checkout <PR-URL>
-c
to browse
commandTweaks:
--cmd
instead of -c
to set default filetypeNew hub compare -b|--base BASE
flag
New stable command issue
to list and create issues:
Usage: hub issue [-a <ASSIGNEE>] [-c <CREATOR>] [-@ <USER] [-s <STATE>] [-f <FORMAT>] [-M <MILESTONE>] [-l <LABELS>] [-t <TIME>]
hub issue create [-o] [-m <MESSAGE>|-F <FILE>] [-a <USERS>] [-M <MILESTONE>] [-l <LABELS>]
New stable command: release
to list, create, and edit releases:
Usage: hub release [--include-drafts]
hub release show <TAG>
hub release create [-dp] [-a <FILE>] [-m <MESSAGE>|-F <FILE>] [-c <TARGET>] <TAG>
hub release edit [<options>] <TAG>
Support setting milestone, labels, assignees in pull-request
.
Usage: hub pull-request [-fo] [-b <BASE>] [-h <HEAD>] [-a <USERS>] [-M <MILESTONE>] [-l <LABELS>]
hub pull-request -m <MESSAGE>
hub pull-request -F <FILE> [--edit]
hub pull-request -i <ISSUE>
Support repo-specific issue and pull request templates.
Commands that take message from -F
filename now support --edit
option to
additionally process it in a text editor. This allows passing in a custom
template text that can be edited before submitting.
Reimplement checkout
to avoid adding new git remotes.
New man page-based help system: hub help hub-<command>
Same fixes as in v2.2.9, plus:
New hub sync
command to fetch from remote and update or prune local branches
Add sorting options to hub issue
$ hub issue --sort comments --sort-ascending
Support PR commit URLs in cherry-pick
Check out the roadmap of new features in the next big release of hub.
Other tweaks:
hub cherry-pick
hub merge
to not generate leftover remote refscheckout
checkout
for unavailable forkExec()
Same fixes as in 2.2.7, plus:
release create --commitish
shorthand from -c
to -t
hub create
to output the URL of the new repositorycreate
, issue create
, pull-request
, release create