Skip to content

gennaro-tedesco/gh-f

Repository files navigation



the ultimate compact fzf gh extension

gh-fis the ultimate, compact and snappyfzfextension forghcli. It addresses most of your daily GitHub workflow, if not all of it:fstands for filter, fzf or fomething felse.

Installation

gh extension install gennaro-tedesco/gh-f

Requirements

Usage

Get started!

gh f

shows the help page. Or watch it in action:

asciicast

or a quick replay

quick-demo

gh f [cmd]

takes one of the following arguments or flags

command description binds
-a, adds add files to staging area enter: add files to staging area
ctrl-d: diff selected file
-r, runs show github workflow runs and filter logs enter: search run logs
-g, greps grep in files in revision history interactive prompt: insert regex, select files, show pattern in revision history
-p, prs view, diff and checkout PR enter: checkout selected PR
ctrl-d: diff selected PR
ctrl-v: view selected PR
-b, branches checkout and diff branches enter: checkout selected branch
ctrl-d: diff selected branch
ctrl-x: delete selected branch
-l, logs view, diff and checkout from logs history enter: checkout selected commit
ctrl-d: diff selected commit
ctrl-v: view commit patch
-t, tags checkout and diff version tags enter: checkout tag in detached HEAD
ctrl-d diff against current branch
-s, search search issues in any repository interactive prompt: follow instructions
-m, myissue search issues you opened somewhere interactive prompt: follow instructions
-k, pick cherrypick files between branches enter: checkout cherrypicked files from branch
-e, envs show git config list enter: print selected config variable
-h, help show help page
-V, version print the current version

Most commands follow the semantics ofgitstandard instructions (so that you can remember them easily), only we append ansto avoid conflicts, should you have those commands lying around in the shell as aliases or for scripting.

Customisation

If you want to skip typinggh fbefore each command you may alias it directly, for instance

gh alias set prs 'f -p' # show PRs
gh alias set l 'f -l' # show git logs

and likewise for the rest.

The prompt colours are defined via their ANSI sequenceshere:change yourself accordingly, if you like different ones. Moreover notice that the rendering of text in thefzfpreview window follows the options set in theFZF_DEFAULT_OPTSenv variable:if you want to replicate exactly what is shown in the demo,hereare my settings.

Feedback

If you find this application useful consider awarding it a ⭐, it is a great way to give feedback! Otherwise, any additional suggestions or merge request is warmly welcome!

See also the complete family of extensions

  • gh-sto search for repositories with interactive prompt
  • gh-ito search for github issues with interactive prompt