lazygit vs git CLI
lazygit runs real git commands under the hood — it's a UI layer, not a replacement. Here's when each approach makes more sense.
| Task | git CLI | lazygit |
|---|---|---|
| Stage individual lines | ❌ Requires git add -p | ✅ Visual, line-by-line |
| Interactive rebase | ❌ Edit a raw TODO file | ✅ Keyboard-driven UI |
| Cherry-pick commits | ⚠️ Must know commit hash | ✅ Select from visual list |
| View commit graph | ⚠️ git log --graph (text only) | ✅ Color-coded visual graph |
| Undo last action | ⚠️ Manual reflog inspection | ✅ ctrl+z |
| Find a branch quickly | ⚠️ git branch + grep | ✅ Press / to filter |
| Scripting & automation | ✅ Ideal for scripts | ❌ Interactive only |
| POSIX portability | ✅ Everywhere | ⚠️ Requires installation |
| Learn git internals | ✅ Forces you to understand | ⚠️ Abstracts some concepts |
When to use lazygit
- ✅ Day-to-day feature development (staging, committing, pushing)
- ✅ Interactive rebase to clean up commits before a PR
- ✅ Reviewing and cherry-picking across branches
- ✅ When you want visual context (graph, diff, stashes)
When to stay on the CLI
- ✅ Shell scripts and CI pipelines
- ✅ Learning git internals
- ✅ Environments where you can't install extra tools
Most developers use both. lazygit for interactive work, git CLI for scripting.
Try lazygit →See also
- lazygit vs tig — both are terminal git UIs, compared head-to-head
- lazygit vs GitKraken — terminal UI vs desktop GUI app