An interactive git shortlog (GitHub CLI extension TUI)
fzf-built GitHub CLI extension TUI git shortlog
frontend â to interactively explore contributor data for any repo
Install
Make sure you have the GitHub CLI (the gh
command) and fzf installed. Then:
# install
gh ext install sideshowbarker/gh-shortlog
# upgrade
gh ext upgrade sideshowbarker/gh-shortlog
# uninstall
gh ext remove sideshowbarker/gh-shortlog
Usage
gh shortlog [--no-mouse]
- Type a date into the prompt and then do
Ctrl-O
: then,gh-shortlog
will change to showing a log/history for only those changes made after your specified date. - Type a name or e-mail address into the prompt: then,
gh-shortlog
will dynamically filter the list of authors down to just those who match what you typed into the prompt.
Key | Action |
---|---|
CtrlâO |
Filter the log down to use the commits made after the date entered into the prompt. |
Enter |
Show a diffs-included log of all commits by the author at the current pointer. |
CtrlâW |
Open GitHub log in a web browser |
CtrlâC |
Exit gh-shortlog , or else go back to the previous screen within gh-shortlog . |
CtrlâF |
Scroll the preview window one page forward. |
CtrlâB |
Scroll the preview window one page back. |
CtrlâJ |
Scroll the pointer in the main window to the next name down. |
CtrlâK |
Scroll the pointer in the main window to the next name up. |
CtrlâN |
Scroll the pointer in the main window to the next name down. |
CtrlâP |
Scroll the pointer in the main window to the next name up. |
CtrlâU |
Clear the prompt. |
tab |
Toggle selection of the item (author name) at the pointer and move to the next name down. |
shiftâtab |
Toggle selection of the item (author name) at the pointer and move to the next name up. |
CtrlâQ |
Exit (or go back one screen) â and then, on final program exit, output the list of items selected. |
You can also use your mouse: click in main window moves the selection; double-click has the same effect as the Enter
key; mouse scroll in either main window or preview window scrolls the window contents.
If you donât want that mouse behavior, use the --no-mouse
option.