Checkout that PR
The gh
CLI is awesome. Everyone and their nan knows this.
For me one of the best parts about it, is its potential for compose-ability with other CLI tools.
The Use Case
One of the actions I find myself making near enough constantly in a repository is hopping from one Pull Request to another.
gh
provides us with a handy command for doing exactly this:
gh pr checkout [PR number]
Very handy.
BUT, it requires you to know the number of the PR you want to checkout.
To get the currently open PR’s we have this command:
gh pr list
Run this and you’ll see a list of PR’s with their numbers, titles and branch names all in a neat CLI table.
So, we need to connect these together. We want to be able to fuzzy search across all the open PR’s, and then when we select one, checkout onto that branch (using its PR number)
List PRs → Fuzzy Search → Checkout PR
For the fuzzy component, we will of course use any self respecting commandline ninja’s favourite buddy fzf
The Implementation
gh pr list
| fzf
| sed -E 's/^([0-9]+).*/\1/'
| xargs gh pr checkout
I tend to alias this badboy as checkout
alias checkout="gh pr list | fzf | sed -E 's/^([0-9]+).*/\1/' | xargs gh pr checkout"
Now you can just throw down a checkout
and boom you’re fuzzy searching the repo’s open PR’s 👍