Lazygit Changed How I Work
I recently came across Bartek Plotka's article on lazygit and it resonated deeply. Not just because of the tool itself, but because of how he articulates what makes developer tools great.
The Problem with Git
We all know Git is powerful. We also know that power is buried under cryptic commands and dangerous footguns. Interactive rebasing? I've seen senior engineers avoid it entirely because the syntax feels like defusing a bomb.
So we stick to the basics: add, commit, push, pull. Maybe stash when we're feeling adventurous.
What Lazygit Gets Right
Bartek nails the three principles that make lazygit work:
Consistency. Vim-style navigation, predictable layouts, Git's own terminology. No invented abstractions—just Git, made visible.
Discoverability. Everything you need is on screen. Staged files, unstaged changes, branch state, recent commits. No memorizing flags.
Interactivity. Operations that feel dangerous in the CLI become safe and reversible. Reordering commits is drag-and-drop. Amending is a few keystrokes.
Why This Matters
The best tools don't invent new workflows. They make existing ones accessible.
Git has always had the power to split commits, cherry-pick across branches, and do surgical rebases. Lazygit just removes the friction that kept most of us from using these capabilities.
That's the kind of developer tooling I appreciate: not flashy, not revolutionary, just quietly making you more effective.
Credit to Bartek Plotka for the original deep-dive. If you want the full breakdown with keybindings and examples, read his post.