gut
Git with better UX. A pure Bash wrapper around Git - friendlier commands, plain-English errors, and safety guardrails.
No dependencies beyond bash and git.
Why gut?
Git is powerful, but its interface was designed for kernel developers, not everyday users. gut makes Git approachable without sacrificing any of its power.
| Problem |
How gut helps |
git checkout does 5 different things |
One concept, one command |
| Cryptic errors like "non-fast-forward" |
Plain-English translations + actionable fixes |
| Staging area confusion (3-way split) |
gut status visualises all three areas clearly |
reset vs revert vs restore |
gut undo replaces all three, interactively |
| Interactive rebase is daunting |
gut replay guides you through squash/reword/drop |
| Submodule commands are inconsistent |
gut sub clean list/add/update/sync/remove |
| Large files silently bloat history |
gut big scans tree + history, integrates LFS |
| Recovery is "Google every error" |
gut rescue diagnoses and fixes interactively |
Quick Start
git clone https://github.com/serpwings/gut.git
cd gut && ./install.sh
Then use gut wherever you'd use git:
gut status # see what's changed
gut save -m "fix bug" # stage + commit in one step
gut sync # smart pull or push
gut undo # soft-undo last commit
gut rescue # diagnose any problem
Design Principles
- One concept = one command. No flag overloading.
- Always explain what's happening and why.
- Interactive prompts when intent is unclear never guess destructively.
- Warn before every destructive operation and require confirmation.
- Plain-English errors translate cryptic git output into fix suggestions.
- Escape hatch always available via
gut git <cmd> or gut log.
Command Overview