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 repositorygh issue status
will show all issues assigned to, mentioning, and opened by yough pr list
will let you see and filter issues in the current repositorygh pr status
will check the status of current pull requestsgh 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.