ghb

A collection of useful GitHub commands


Keywords
bash, command-line, git, github, zsh
License
MIT
Install
pip install ghb==1.12.0

Documentation

ghb

This is a small set of scripts for working with github. Unlike hub or gh the purpose of this is not to override git and add functionality on top of that. Instead this uses a git like method of looking for executables named ghb-* and nesting them under the ghb command. This allows you to create simple single purpose scripts in any language.

Commands

  • approve, quickly approve a PR with a GitHub review
  • assignme, assign yourself to a PR
  • block, block users on GitHub
  • clear-comments, delete all comments on a pull request
  • close-prs, close multiple PRs from a certain author targeting a specific branch
  • comment, comment on a list of issues / PRs
  • contributions, view the number of contributions you've made today
  • create, create github repos.
  • delete-branches, delete stale branches matching some prefix
  • download-release, download the most recent release from a repo
  • get-blocks, get the users you've blocked
  • greenify, force all statuses on a PR to be gren
  • langs, get the language breakdown for a repo
  • ls-notifications, list your unread notifications
  • me, open your GitHub profile
  • notifications, open your unread notifications in the browser
  • pr, open a PR from the current branch
  • protect, enable/disable branch protection for a specific repo and branch
  • unblock, unblock a GitHub user
  • unwatch, bulk unwatch repos
  • watch, watch a repo

See the header comment in each individual file for specific usage.

Installation

brew install keith/formulae/ghb

Or:

pip install ghb

(and install zsh/_ghb if you want zsh completions)

Configuration

To setup authentication for ghb you must add a personal access token to your ~/.netrc file. You can generate a token here. You should enable the repo, workflow, notifications, and user scopes (you maybe be able to omit some of those depending on which subcommands you plan to use).

Then in your ~/.netrc file add:

machine api.github.com
login GITHUB_USERNAME
password TOKEN

And restrict permissions with chmod 0600 ~/.netrc (this is required)