forgit
Interactive Git command wrapper using fzf for fuzzy selection of files, commits, branches, and more
forgit is a Git wrapper that adds interactive fuzzy selection to common Git operations using fzf. It provides 25+ commands with short aliases that replace standard Git commands with searchable, selectable interfaces. Commands like ga for interactive git add, glo for browsing commit history, and gcb for branch switching display relevant Git data in fzf menus where users can search and select items with keyboard navigation.
The tool covers comprehensive Git workflows including staging files, viewing diffs and logs, managing branches and tags, handling stashes, cherry-picking commits, interactive rebasing, and worktree management. Each command can be customized through environment variables to modify both Git options and fzf behavior. For example, branch commands can be configured to sort by commit date, or diff commands can use custom Git options.
forgit works across Bash, Zsh, and Fish shells and can be installed through package managers, shell plugin managers, or as a Git subcommand. It requires fzf 0.60.0 or higher and integrates with existing Git configurations for pagers and diff tools. The tool is designed for developers who frequently use Git from the command line and want to reduce the cognitive overhead of remembering exact commit hashes, branch names, or file paths.
Installation
# via Homebrew
brew install forgit
# via oh-my-zsh
git clone https://github.com/wfxr/forgit.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/forgit
# via fisher
fisher install wfxr/forgit



Alternatives & related tools
git-secrets
Prevents committing passwords and sensitive information to git repositories using pattern matching and hooks
Git Extras
A collection of extra git subcommands, including git-ignore, git-setup, git-changelog, git-release, git-effort, git-squash and git-pull-request.
git absorb
Git subcommand that automatically creates fixup! commits from staged changes by finding the commit each hunk belongs to, with optional autosquash rebase.
yadm
Dotfiles manager built on Git, with per-system alternate and templated files, encryption via GnuPG/OpenSSL/transcrypt/git-crypt, bootstrapping, and hooks.
gitu
Terminal user interface for Git inspired by Magit, providing visual staging, branching, and repository management
add a badge to your README
Maintain forgit? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/tools/forgit?utm_source=badge)<a href="https://www.trmn.sh/tools/forgit?utm_source=badge"><img src="https://www.trmn.sh/badge/forgit.svg" alt="Featured on trmn" height="20"></a>