Why Your Git Workflow Deserves Better Tooling
Git is powerful, but its raw command-line interface can be verbose and unforgiving. A growing ecosystem of open source CLI tools has emerged to wrap, extend, and enhance Git — making code review, history navigation, and branch management significantly faster. Here are the tools worth adding to your setup.
gh — GitHub's Official CLI
Repository: github/cli
The gh CLI brings almost all of GitHub's web interface into your terminal. With it you can:
- Create and review pull requests:
gh pr create,gh pr review - Manage issues:
gh issue list,gh issue create - Clone any repo quickly:
gh repo clone owner/repo - Run GitHub Actions and view workflow logs
It's particularly valuable when you're contributing to many projects and need to context-switch rapidly without leaving the terminal.
lazygit — Terminal UI for Git
Repository: jesseduffield/lazygit
Lazygit provides a clean, keyboard-driven terminal user interface (TUI) for Git. It visualizes your staging area, branch history, and file diffs side by side. Key strengths include:
- Interactive rebasing made visual and intuitive
- One-keystroke staging of individual lines or hunks
- Branch visualization that makes complex histories readable
If you've ever dreaded interactive rebases, lazygit makes them approachable.
delta — A Syntax-Highlighting Diff Viewer
Repository: dandavison/delta
Delta replaces the default Git diff output with syntax-highlighted, side-by-side diffs. Configure it as your Git pager in ~/.gitconfig:
[core]
pager = delta
[delta]
side-by-side = true
line-numbers = true
The difference in readability — especially for large diffs — is immediately noticeable.
git-absorb — Automatic Fixup Commits
Repository: tummychow/git-absorb
When you make small fixes to a feature branch that's already been reviewed, git absorb automatically figures out which existing commit your staged changes belong to and creates a fixup commit for it. Combine with git rebase --autosquash to keep your history clean with minimal effort.
tig — Text-mode Interface for Git
Repository: jonas/tig
Tig is a lightweight TUI for browsing Git history, blame views, and tree navigation. It's faster to launch than a full GUI and works over SSH, making it excellent for inspecting repositories on remote servers.
Comparison Table
| Tool | Primary Use | Learning Curve |
|---|---|---|
| gh | GitHub PR/issue management | Low |
| lazygit | Full Git TUI | Medium |
| delta | Better diffs | Very Low |
| git-absorb | Fixup commits | Low |
| tig | History browsing | Low |
Getting Started
You don't need to adopt all of these at once. A good starting point is delta (zero workflow change, instant payoff) followed by gh if you work on GitHub. Add lazygit when you're ready to invest a little time learning a TUI that will pay dividends for years.
All of these tools are actively maintained open source projects — contributions welcome.