{"id":13495991,"url":"https://github.com/gennaro-tedesco/gh-f","last_synced_at":"2025-05-16T13:02:14.525Z","repository":{"id":37597966,"uuid":"449902797","full_name":"gennaro-tedesco/gh-f","owner":"gennaro-tedesco","description":"🔎 the ultimate compact fzf gh extension","archived":false,"fork":false,"pushed_at":"2025-01-06T14:10:38.000Z","size":86,"stargazers_count":318,"open_issues_count":0,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-13T14:07:30.428Z","etag":null,"topics":["command-line","gh-extension","git","github","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gennaro-tedesco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-20T00:40:09.000Z","updated_at":"2025-05-05T19:16:17.000Z","dependencies_parsed_at":"2024-01-07T21:02:28.209Z","dependency_job_id":"53ff66d4-3b52-46ab-9c8c-f0172856073f","html_url":"https://github.com/gennaro-tedesco/gh-f","commit_stats":{"total_commits":110,"total_committers":7,"mean_commits":"15.714285714285714","dds":"0.30000000000000004","last_synced_commit":"3724115c02d150fc6a7afc4e4a3066cb5adcd3b2"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gennaro-tedesco%2Fgh-f","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gennaro-tedesco%2Fgh-f/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gennaro-tedesco%2Fgh-f/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gennaro-tedesco%2Fgh-f/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gennaro-tedesco","download_url":"https://codeload.github.com/gennaro-tedesco/gh-f/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254535787,"owners_count":22087394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line","gh-extension","git","github","shell"],"created_at":"2024-07-31T19:01:40.476Z","updated_at":"2025-05-16T13:02:14.422Z","avatar_url":"https://github.com/gennaro-tedesco.png","language":"Shell","funding_links":[],"categories":["GitHub","Shell","⭐ Most Starred","shell","\u003ca name=\"git\"\u003e\u003c/a\u003eGit and accessories","Search","Tool"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg width=\"150\" height=\"150\" src=\"gh-f-logo.png\"\u003e\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch2 align=\"center\"\u003e\n  \u003ca href=\"https://github.com/gennaro-tedesco/gh-f/releases\"\u003e\n    \u003cimg alt=\"releases\" src=\"https://img.shields.io/github/release/gennaro-tedesco/gh-f?color=2aa198\u0026style=for-the-badge\"/\u003e\n  \u003c/a\u003e\n\u003c/h2\u003e\n\n\u003ch4 align=\"center\"\u003ethe ultimate compact fzf gh extension\u003c/h4\u003e\n\u003ch3 align=\"center\"\u003e\n  \u003ca href=\"#Installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"#Usage\"\u003eUsage\u003c/a\u003e •\n  \u003ca href=\"#Customisation\"\u003eCustomisation\u003c/a\u003e •\n  \u003ca href=\"#Feedback\"\u003eFeedback\u003c/a\u003e\n\u003c/h3\u003e\n\n`gh-f` is the ultimate, compact and snappy `fzf` extension for `gh` cli. It addresses most of your daily GitHub workflow, if not all of it: `f` stands for filter, fzf or fomething felse.\n\n## Installation\n\n```\ngh extension install gennaro-tedesco/gh-f\n```\n\n### Requirements\n\n- fzf\n- [gnu core utils](https://www.gnu.org/software/coreutils/)\n- [bat](https://github.com/sharkdp/bat) (optional, if not detected it uses `less` as a pager, instead)\n\n## Usage\n\nGet started!\n\n```\ngh f\n```\n\nshows the help page. Or watch it in action:\n\n[![asciicast](https://asciinema.org/a/EmYMmhOAn0dWAyBYrNqKk5AlR.svg)](https://asciinema.org/a/EmYMmhOAn0dWAyBYrNqKk5AlR)\n\nor a quick replay\n\n![quick-demo](https://user-images.githubusercontent.com/15387611/157561174-d8bcfc81-0d12-4263-aeb9-19ba410ef40a.gif)\n\n```\ngh f [cmd]\n```\n\ntakes one of the following arguments or flags\n\n| command      | description                               | binds                                                                                             |\n| :----------- | :---------------------------------------- | :------------------------------------------------------------------------------------------------ |\n| -a, adds     | add files to staging area                 | enter: add files to staging area\u003cbr\u003ectrl-d: diff selected file                                    |\n| -r, runs     | show github workflow runs and filter logs | enter: search run logs                                                                            |\n| -g, greps    | grep in files in revision history         | interactive prompt: insert regex, select files, show pattern in revision history                  |\n| -p, prs      | view, diff and checkout PR                | enter: checkout selected PR\u003cbr\u003ectrl-d: diff selected PR\u003cbr\u003ectrl-v: view selected PR               |\n| -b, branches | checkout and diff branches                | enter: checkout selected branch\u003cbr\u003ectrl-d: diff selected branch\u003cbr\u003ectrl-x: delete selected branch |\n| -l, logs     | view, diff and checkout from logs history | enter: checkout selected commit\u003cbr\u003ectrl-d: diff selected commit\u003cbr\u003ectrl-v: view commit patch      |\n| -t, tags     | checkout and diff version tags            | enter: checkout tag in detached HEAD\u003cbr\u003ectrl-d diff against current branch                        |\n| -s, search   | search issues in any repository           | interactive prompt: follow instructions                                                           |\n| -m, myissue  | search issues you opened somewhere        | interactive prompt: follow instructions                                                           |\n| -k, pick     | cherrypick files between branches         | enter: checkout cherrypicked files from branch                                                    |\n| -e, envs     | show git config list                      | enter: print selected config variable                                                             |\n| -h, help     | show help page                            |\n| -V, version  | print the current version                 |\n\nMost commands follow the semantics of `git` standard instructions (so that you can remember them easily), only we append an `s` to avoid conflicts, should you have those commands lying around in the shell as aliases or for scripting.\n\n## Customisation\n\nIf you want to skip typing `gh f` before each command you may alias it directly, for instance\n\n```\ngh alias set prs 'f -p' # show PRs\ngh alias set l 'f -l' # show git logs\n```\n\nand likewise for the rest.\n\nThe prompt colours are defined via their ANSI sequences [here](https://github.com/gennaro-tedesco/gh-f/blob/37157bb30c2bceb99a5c9d6d199c543ce347690f/gh-f#L6-L9): change yourself accordingly, if you like different ones. Moreover notice that the rendering of text in the `fzf` preview window follows the options set in the `FZF_DEFAULT_OPTS` [env variable](https://github.com/junegunn/fzf#environment-variables): if you want to replicate exactly what is shown in the demo, [here](https://github.com/gennaro-tedesco/dotfiles/blob/132eeec7d9573ca3ccd47a078d19029b75010b2b/zsh/zshrc#L43) are my settings.\n\n## Feedback\n\nIf 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!\n\nSee also the complete family of extensions\n\n- [gh-s](https://github.com/gennaro-tedesco/gh-s) to search for repositories with interactive prompt\n- [gh-i](https://github.com/gennaro-tedesco/gh-i) to search for github issues with interactive prompt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgennaro-tedesco%2Fgh-f","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgennaro-tedesco%2Fgh-f","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgennaro-tedesco%2Fgh-f/lists"}