Skip to content

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

Command Description
gut status Visual, labelled breakdown of all three Git areas
gut save Stage + commit in one step
gut undo Replaces reset, revert, restore
gut sync Smart pull/push with divergence handling
gut branch Branch creation, deletion, renaming
gut switch Switch branches safely
Command Description
gut history Clean, readable commit log
gut compare Diff summary between branches
gut blame Annotated file history by author
gut stats Contributor statistics with bar charts
gut age Branch ages and ahead/behind status
Command Description
gut stash Save/restore/manage work in progress
gut snapshot Timestamped quicksave stash
gut whoops Reflog browser to jump to any past state
gut rescue Diagnose and fix common Git problems
gut bisect Guided binary search for a bad commit
Command Description
gut integrate Merge or rebase with guidance
gut replay Friendly interactive rebase
gut sub Submodule management
gut big Large file scan + Git LFS integration
gut tag Semantic version tags
gut protect Block direct pushes to branches
gut alias Personal command shortcuts
gut pr Open a pull request in the browser
gut patch Export/apply commits as .patch files