A utility tool powered by fzf for using git interactively with fuzzy-finding and visual selection.
Forgit is a shell plugin that supercharges git with interactive, fzf-driven commands for common operations like staging files, viewing logs, and managing branches. It solves the problem of memorizing complex git commands by providing a visual, fuzzy-finding interface that makes git workflows faster and more intuitive.
Developers and system administrators who use git regularly in Bash, Zsh, or Fish shells and want to improve their command-line productivity with visual tools.
Developers choose forgit because it seamlessly integrates with existing git workflows, offers extensive customization, and provides a consistent, interactive interface for over 20 git operations without requiring a separate GUI application.
:zzz: A utility tool powered by fzf for using git interactively.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates fzf for interactive selection and previews in commands like `ga` for staging files and `glo` for browsing logs, speeding up common git tasks with visual feedback.
Covers over 20 git operations from basic add/commit to advanced rebase and worktree management, as detailed in the full command list table, reducing the need to memorize complex git syntax.
Allows fine-tuning per-command with environment variables for git arguments and fzf options, and supports alias renaming or disabling via FORGIT_NO_ALIASES for personalized workflows.
Supports Bash, Zsh, and Fish shells with installation options for various package managers like Homebrew and Fisher, ensuring broad usability across different developer setups.
Requires fzf 0.49.0+ as a core dependency, which can be a barrier in minimal setups or systems where package managers bundle older versions, adding an extra installation step.
The README admits that TUI pagers like diffnav cause blank preview panes, requiring manual fixes such as setting FORGIT_PREVIEW_PAGER to a non-interactive alternative like delta, adding complexity.
Lacks interactive tools for resolving git merge conflicts, forcing users to fall back to standard git commands or external tools for this common and critical scenario.
With numerous environment variables for per-command options and pagers, plus manual completion setup for some installation methods, initial configuration can be overwhelming compared to simpler git aliases.