A modern Git CLI tool with both traditional command-line and interactive incremental-search UI.
ggc is a modern Git command-line interface tool built in Go that provides both traditional CLI commands and an interactive incremental-search UI. It solves the problem of Git command memorization and complex workflows by offering a fast, discoverable interface for executing common operations like branching, committing, and pushing. The tool enhances developer productivity with features like workflow automation, customizable keybindings, and shell completion.
Developers who frequently use Git and want a more efficient, interactive way to manage version control operations without leaving the terminal. It's particularly useful for those who prefer keyboard-driven workflows and want to reduce context switching.
Developers choose ggc for its unique combination of a traditional Git CLI with an interactive fuzzy-search UI, which speeds up command discovery and execution. Its workflow functionality, extensible keybindings, and unified syntax offer a more streamlined and customizable Git experience compared to standard Git commands or other CLI tools.
A modern Git CLI tool with both traditional command-line and interactive incremental-search UI.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The fuzzy-search UI allows real-time filtering of commands, making it easy to find operations like 'branch delete' by typing 'bd', as shown in the README demos.
Build multi-command sequences such as add → commit → push in interactive mode, streamlining repetitive Git tasks without manual typing.
Supports multiple profiles (default, emacs, vi, readline) and per-OS configurations via YAML, allowing personalized interaction tailored to different editing styles.
Provides tab completion for Bash, Zsh, and Fish shells, generated from a centralized command registry to ensure accuracy and consistency.
The README admits that arguments with spaces or quotes in aliases may be split incorrectly, which can break complex commands and require workarounds.
Advanced customization requires understanding profiles, OS-specific settings, and terminal configurations in YAML, which might be daunting for casual users.
Function keys and Alt/Meta keys have limited implementation, restricting customization options for power users who rely on these in their workflows.