HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mislav
hub
Go2009–2022
mislav / hub

hub

A command-line tool that makes git easier to use with GitHub.

64Distinct people
71Mentions
0Explicit recommenders
23KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A command-line tool that makes git easier to use with GitHub.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

  • cli/cli · linked in 2 of the same discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year71 dated mentions

Observed mentions: 2009-12-09 05:56:17 UTC to 2022-06-05 16:57:38 UTC.

0510152009-01-01 00:00:00 UTC to 2010-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20092010-01-01 00:00:00 UTC to 2011-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 7 mentions; 2 submissions, 5 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 8 mentions; 3 submissions, 5 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 17 mentions; 4 submissions, 13 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20092009-01-01 00:00:00 UTC2010-01-01 00:00:00 UTC110
20102010-01-01 00:00:00 UTC2011-01-01 00:00:00 UTC101
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC110
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC808
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC725
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC835
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC17413
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC716
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC514
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC808
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
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. For an official, potentially more user-friendly command-line interface to GitHub, see cli.github.com and this comparison. This repository and its issue tracker is not for reporting problems with GitHub.com web interface. If you have a problem with GitHub itself, please contact Support. Usage $ hub clone rtomayko/tilt #=> git clone https://github.com/rtomayko/tilt.git # or, if you prefer the SSH protocol: $ git config --global hub.protocol ssh $ hub clone rtomayko/tilt #=> git clone git@github.com:rtomayko/tilt.git See usage examples or the full reference documentation to see all available commands and flags. hub can also be used to make shell scripts that directly interact with the GitHub API. hub can be safely aliased as git, so you can type $ git <command> in the shell and have it expanded with hub features. Installation The hub executable has no dependencies, but since it was designed to wrap git, it's recommended to have at least git 1.7.3 or newer. platform manager command to run macOS, Linux Homebrew brew install hub macOS, Linux Nix nix-env -i hub Windows Scoop scoop install hub Windows Chocolatey choco install hub Fedora Linux DNF sudo dnf install hub Arch Linux pacman sudo pacman -S hub FreeBSD pkg(8) pkg install hub Debian, Ubuntu apt(8) sudo apt install hub Ubuntu Snap We do not recommend installing the snap anymore. openSUSE Zypper sudo zypper install hub Void Linux xbps sudo xbps-install -S hub Gentoo Portage sudo emerge dev-vcs/hub any conda conda install -c conda-forge hub Packages other than Homebrew are community-maintained (thank you!) and they are not guaranteed to match the latest hub release. Check hub version after installing a community package. Standalone hub can be easily installed as an executable. Download the latest binary for your system and put it anywhere in your executable path. GitHub Actions hub is ready to be used in your GitHub Actions workflows: steps: - uses: actions/checkout@v2 - name: List open pull requests run: hub pr list env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} Note that the default secrets.GITHUB_TOKEN will only work for API operations scoped to the repository that runs this workflow. If you need to interact with other repositories, generate a Personal Access Token with at least the repo scope and add it to your repository secrets. Source Prerequisites for building from source are: make Go 1.11+ Clone this repository and run make install: git clone \ --config transfer.fsckobjects=false \ --config receive.fsckobjects=false \ --config fetch.fsckobjects=false \ https://github.com/github/hub.git cd hub make install prefix=/usr/local Aliasing Some hub features feel 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. Meta Bugs: https://github.com/github/hub/issues Authors: https://github.com/github/hub/contributors Our Code of Conduct
Read the full README on GitHub

What Hacker News says

71 sources
For GitHub, using the hub[1] client, you can simply do: hub create -p That will create a new private repo, matching the name of your repository. What I will often do if I want to instantly mirror something to github: hub create -p --remote-name=github Which will create a new remote with that name. Otherwise origin will be used, which can conflict if you already have an origin remote. It is also less typing. [1]: https://github.com/github/hub
In Gitea – a painless self-hosted Git service
https://hub.github.com/hub.1.html#github-oauth-authenticatio... > 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. And if you don't want to use Hub for all your Git operations, you can extract the token from the file after using Hub once, or call the OAuth endpoint directly by reusing Hub's code: https://github.com/github/hub/blob/c8e68d548a39ec0fab6f674a6...
In Ask HN: Can GitHub be accessed through console-only for entire workflow?
Using https://github.com/github/hub has allowed me to fire off small pull requests at a high rate. It _almost_ makes pull request creation as lightweight as commits. This leads to smaller pull requests that are easier to review and likely easier to get a quick review on for because of that. Additionally, the reviewer is IMO likelier to approve the PR, leading to me being a much more productive engineer shipping things at a higher rate.
In Ask HN: What are your favorite developer-efficiency tips?
> Hub, the previous Github CLI, was written in Go too, so I don't think this is much of a surprise. Hub was originally a collection of Ruby scripts for ±3 years [1]. They later refactored the code to use Go: • Initial commit on Dec 5, 2009 was 100% Ruby code [2] • @jingweno started a refactoring using Go on Apr 8, 2013 [3][4] • The Go rewrite was merged to master on May 23, 2013 [5] [1] https://mislav.net/2020/01/github-cli/ [2] https://github.com/github/hub/tree/de9bfa2103ee81a547d4fc598... [3] https://github.com/github/hub/commit/d5615fcb6f9c983fbf5d129... [4] https://owenou.com/fast-github-command-line-client-written-i... [5] https://github.com/github/hub/tree/0df403f14805d4962ee3adb22...
In GitHub CLI is now in beta
I've been using Hub[1] (though not aliased to `git`) for years now, and it's PR management capabilities have been invaluable working on larger projects. Hopefully GitHub CLI is as stable and reliable! It looks like the main features I use from Hub are already well-supported in the GitHub CLI, and it looks like whether or not Hub will still be maintained is an open question[2]. Edit: Just noting that `brew install github` doesn't work, it's actually `brew install github/gh/gh` — that's a new format for brew packages I haven't seen before. [1] https://github.com/github/hub [2] https://github.com/github/hub/issues/2470
In GitHub CLI is now in beta
In the "easy" path, you're neglecting the lack of standardization in the "attach/upload" step. For some projects it might be as simple as "create an account on their bug tracker and open a new bug and attach the patch", but for others it might be "dig through their website to find a mailing list, dig more to figure out how to subscribe to that mailing list, send email". and then you might: "get a bounce because the patch is too large", or have to "repost because your mailer posted the patch in-line instead of an attachment, which corrupted it", or... As much as I hate centralization, especially when the central entity is a for-profit corporation running closed software, often that ends up giving you a standardized experience that makes things easier. "Easier" doesn't have to mean fewer steps; I agree that the GitHub workflow you descri
Read the rest
be isn't simpler, but if you've done it a few times, it's mechanical and you don't need to think about it. GH even provides a command-line tool[0] that lets you avoid most of the click-around-on-website steps. [0] https://github.com/github/hub
In Apache Software Foundation joins GitHub open source community

Showing the 15 most recent of 71 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.