Scriptable Git shortcuts with a searchable workflow builder.
📖 Full documentation: https://bmf-san.github.io/ggc/
This logo was created by gopherize.me.
Click any GIF to view full size.
ggc gives you short, scriptable Git shortcuts and a searchable workflow builder. Run ggc <subcommand> directly for one-shot commands, drop them into shell scripts, or type ggc on its own to open a fuzzy picker where you can search every command, queue several into a workflow, and run them as a pipeline.
Supported: macOS (amd64 / arm64 / universal), Linux (amd64 / arm64), Windows (amd64). Requires Git and Go 1.25+ to build.
Git already has great TUIs and helpers — ggc fills a different niche. It is the only one of these that is both scriptable on the command line and searchable as an interactive workflow builder:
- Compose multi-step workflows, then run or reuse them. Search commands in the fuzzy picker, press Tab to queue
add→commit→push, and Ctrl+T to run the pipeline. lazygit/gitui drive one action at a time; tig is read-focused. - Same tool in scripts and in CI.
ggc commit "fix: parser"orggc branch checkout mainwork non-interactively, so the shortcuts you learn interactively drop straight into shell scripts and pipelines. The TUI tools are interactive-only. - Memorable verbs over flag soup.
ggc rebase interactive,ggc stash pop,ggc clean interactivereplace hard-to-remembergitflag combinations, while still falling back to rawgitfor anything ggc doesn't cover. - Review workflows before running them. Queue commands in the workflow builder and see the full step list in the workflow view before you execute the pipeline.
Many ggc subcommands wrap destructive Git actions. Know how each behaves before relying on it:
cleanasks first. Interactivecleanshows the files it will remove and prompts for confirmation (Delete these files? (y/n)) before deleting.- Other destructive commands run immediately.
branch delete,tagdeletion, andstash drop/stash clearexecute right away without a separate confirmation step — treat them like the underlyinggitcommands. resetis a shortcut, not a passthrough. Bareggc resetperforms a hard reset to the upstream branch and cleans the working tree (reset --hard+clean);ggc reset hard <commit>andggc reset soft <commit>map to the correspondinggit reset. These discard changes without prompting.- Review workflows before executing. The workflow view lists every queued step so you can inspect (and rebuild) a pipeline before running it.
See the interactive mode & workflows guide for details.
Full documentation lives at https://bmf-san.github.io/ggc/:
- Why ggc? + feature highlights
- Quick start
- Command reference — auto-generated from the registry
- Recipes — task-oriented walkthroughs
- Interactive mode & workflows
- Configuration, aliases, keybindings
- Troubleshooting
# quick install (macOS / Linux)
curl -sSL https://raw.githubusercontent.com/bmf-san/ggc/main/install.sh | bash
# or Homebrew
brew install ggc
# or Go
go install github.com/bmf-san/ggc/v8@latestWindows binaries, pre-built archives, and source builds are covered in the installation guide. After installing, run ggc doctor to verify.
- ggc documentation site - Full user guide, install notes, configuration reference, and troubleshooting
- Git Documentation - Complete Git reference documentation
- Git Tutorial - Official Git tutorial for beginners
- Git User Manual - Comprehensive Git user guide
See CONTRIBUTING.md and CODE_OF_CONDUCT.md for details.
If you’d like to support my work, please consider sponsoring me!
Or simply giving ⭐ on GitHub is greatly appreciated—it keeps me motivated to maintain and improve the project! :D
This project is licensed under the MIT License - see the LICENSE.md file for details.


