wfxr/forgit is a Shell project with 5.1k stars in the Developer Tools space. :zzz: A utility tool powered by fzf for using git interactively.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Utility tool for using git interactively. Powered by junegunn/fzf.
This tool is designed to help you use git more efficiently.
It's lightweight and easy to use.
📝 Features
ga - Interactive git add selector:
glo - Interactive git log viewer:
gi - Interactive .gitignore generator:
Full Command List
Command
Description
ga
Interactive git add selector
gd
Interactive git diff viewer
gi
Interactive .gitignore generator
glo
Interactive git log viewer
gat
Interactive .gitattributes generator
gso
Interactive git show viewer
grh
Interactive git reset HEAD <file> selector
grs
Interactive git restore <file> selector
gcf
Interactive git checkout <file> selector
gcff
Interactive git checkout <file> from <commit> selector
gcb
Interactive git checkout <branch> selector
gsw
Interactive git switch <branch> selector
gbd
Interactive git branch -D <branch> selector
gct
Interactive git checkout <tag> selector
gco
Interactive git checkout <commit> selector
grc
Interactive git revert <commit> selector
gss
Interactive git stash viewer
gsp
Interactive git stash push selector
gcp
Interactive git cherry-pick selector
grb
Interactive git rebase -i selector
grl
Interactive git reflog viewer
gbl
Interactive git blame selector
gfu
Interactive git commit --fixup && git rebase -i --autosquash selector
gsq
Interactive git commit --squash && git rebase -i --autosquash selector
grw
Interactive git commit --fixup=reword && git rebase -i --autosquash selector
gclean
Interactive git clean selector
gwt
Interactive git worktree selector
gwa
Interactive git worktree add selector
gwd
Interactive git worktree remove selector
📥 Installation
Requirements
fzf version 0.60.0 or higher
If your OS package manager bundles an older version of fzf, you might install it using fzf's own install script.
Shell Package Managers
# for zplug
zplug 'wfxr/forgit'
# for zgen
zgen load 'wfxr/forgit'
# for antigen
antigen bundle 'wfxr/forgit'
# for fisher (requires fisher v4.4.3 or higher)
fisher install wfxr/forgit
# for omf
omf install https://github.com/wfxr/forgit
# for zinit
zinit load wfxr/forgit
# for oh-my-zsh
git clone https://github.com/wfxr/forgit.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/forgit
# for sheldon.cli
[plugins.forgit]
github = "wfxr/forgit"
rev = "26.01.0" # check https://github.com/wfxr/forgit/releases for latest version
use = ["forgit.plugin.zsh"]
apply = ["source"]
# manually
# Clone the repository and source it in your shell's rc file or put bin/git-forgit into your $PATH
Homebrew
To install using brew
brew install forgit
Then add the following to your shell's config file:
AUR packages, maintained by the developers of forgit,
are available. Install the forgit package for the latest release or
forgit-git to stay up to date with the latest commits from the default
branch of this repository.
Completions
Forgit offers completions for all supported shells. Completions are automatically configured when installing forgit
through Homebrew or the AUR. All other installation methods mentioned above require manual setup for completions.
The necessary steps depend on the shell you use.
Bash
Put completions/git-forgit.bash in
~/.local/share/bash-completion/completions to have bash tab completion for git forgit and configured git aliases.
Source completions/git-forgit.bash explicitly to have
bash tab completion for forgit shell functions and aliases (e.g., gsw <tab> completes branches).
Fish
Put completions/git-forgit.fish in
~/.config/fish/completions/ to have fish tab completion for git forgit and configured git aliases, as well as shell
command aliases, such as ga.
Zsh
Put completions/_git-forgit in a directory in your $fpath
(e.g., /usr/share/zsh/site-functions) to have zsh tab completion for git forgit and configured git aliases, as well
as shell command aliases, such as forgit::add and ga.
If you're having issues after updating, and commands such as forgit::add or aliases ga aren't working, remove your
completions cache and restart your shell.
> rm ~/.zcompdump
> zsh
🚀 Usage
Shell Aliases
You can change the default aliases by defining these variables below before sourcing the forgit shell plugin.
(To disable all aliases, Set the FORGIT_NO_ALIASES flag.)
Forgit will use the default configured pager from git (core.pager,
pager.show, pager.diff) but can be altered with the following environment
variables:
Pager
Fallbacks to
FORGIT_PAGER
git config core.pagerorcat
FORGIT_SHOW_PAGER
git config pager.showor$FORGIT_PAGER
FORGIT_DIFF_PAGER
git config pager.diffor$FORGIT_PAGER
FORGIT_BLAME_PAGER
git config pager.blameor$FORGIT_PAGER
FORGIT_IGNORE_PAGER
bat -l gitignore --color alwaysorcat
FORGIT_ATTRIBUTES_PAGER
bat -l gitattributes --color alwaysorcat
FORGIT_PREVIEW_PAGER
Normal pager resolution*
* If your pager is a TUI program (e.g., diffnav, tig), fzf preview panes will be blank because they run
without a TTY. Set FORGIT_PREVIEW_PAGER to a non-interactive pager (e.g., delta) to fix this. When set, it
overrides all other FORGIT_*_PAGER settings in fzf preview context.
FZF Options
You can add default fzf options for forgit, including keybindings, layout, etc.
(No need to repeat the options already defined in FZF_DEFAULT_OPTS)
Call gi or gat with arguments to get the wanted .gitignore/.gitattributes contents directly (e.g., gi cmake c++).
⚒️ Contributing
Contributions are welcome.
For the repository-specific contribution workflow, local validation steps, and commit message guidelines, see CONTRIBUTING.md.
No homepage URL was recorded for wfxr/forgit in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
How active is development on wfxr/forgit?
The most recent commit recorded on wfxr/forgit was 1 month ago, based on the GitHub push timestamp. The repository has 162 forks — one of the better signals of community interest.
How many stars does wfxr/forgit have?
wfxr/forgit has 5.1k GitHub stars — refresh the page for the live number, or check github.com/wfxr/forgit. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is wfxr/forgit open source?
Yes — wfxr/forgit ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/wfxr/forgit.
What else is in the Developer Tools space?
wfxr/forgit is tracked by TopGit under the Developer Tools category, alongside 7 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What topics is wfxr/forgit associated with?
GitHub's repository topics for wfxr/forgit: "bash", "cli", "fish", "fzf", "git", "zsh", "zsh-plugin". TopGit's editorial category is Developer Tools.
Where do I read more about wfxr/forgit?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/wfxr/forgit is the definitive source.
Read full README in the tab above.
Is forgit worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of forgit.