Blog

Reduce Context Switching from Terminal with GitHub CLI

Placeholder Avatar
Arunan Skanthan
February 11, 2020

Context switching isn’t great for productivity‚Äîat least not for me. So I like to stay in one mode (editing code, reading emails, etc.) for as long as I can, whenever possible.

Previously I had written about gitsh which allowed you to type less and stay in the terminal to make your git tasks a little easier. In this post I’d like to look at GitHub CLI. I’ll use the gh command to reference it for the rest of this post.

gh and hub, it’s unofficial predecessor, are both command line tools to perform tasks on GitHub (the service). Combining gh with gitsh pretty much allows you to pretty much stay in the terminal for working with Git and GitHub most, if not all the time. I do tend to reach for a GUI for looking at timelines in complex scenarios, as I find that a bit more user friendly, and I don’t know every single Git intricacy.

For the more advanced user, this also means you could script and automate parts of your workflow if you choose to do so. Or pair it up with your favourite CLI text editor and you may not have to leave the command line except to switch to the Browser when working on web development. You can even alias complex commands to simplify them and remember them more easily.

Some examples of what you can do with GitHub CLI are:

  • gh issue list will show all issues in current repository
  • gh issue status will show all issues assigned to, mentioning, and opened by you
  • gh pr list will let you see and filter issues in the current repository
  • gh pr status will check the status of current pull requests
  • gh pr create will create a pull request

There are a lot more in the GitHub CLI Manual, I just picked a few for you to get the idea. Give it a spin, it could save you time and make your workflow more efficient.