Skip to main content
LazyGit: The Git Interface You Didn't Know You Needed

In git, tooling, productivity and terminalFebruary 18, 20252 min read

Not long ago, I wrote about my transition From VSCode to Zed. In that post, I briefly mentioned a tool that has become absolutely essential to my workflow: LazyGit.

I used to be a CLI user, I even had my custom set of aliases them I moved to the oh-my-zsh git plugin and I felt I had super powers. I thought using a GUI was for people who didn't understand git.

I was wrong.

Why LazyGit?

LazyGit isn't a GUI in the traditional sense. It's a TUI (Terminal User Interface). It lives in your terminal, it's blazing fast, and it gives you superpowers.

1. The Diffing Experience

On the CLI, diffing was far from optimal. You had to scroll through endless text or open a separate tool. In LazyGit, the diffing is awesome. It’s right there, side-by-side (or inline), and navigating through changes feels effortless.

2. Interactive Staging

Forget git add -p. With LazyGit, you can navigate through your files, hit space to toggle a file, or enter a file and stage individual lines with space. It's visual, instant, and intuitive.

3. Conflict Resolution

Merge conflicts used to be a headache. In LazyGit, you can cycle through conflicts, choose "ours" or "theirs" (or both) with a keystroke, and keep moving. It turns a stressful moment into a minor bump in the road.

4. The Rebase Workflow

Interactive rebasing is where LazyGit truly shines. You can squash, fixup, drop, or reword commits just by pressing a key. Reorganizing your history becomes fun, not a chore.

5. Intuitive Keybindings

The shortcuts are super smartly chosen. space to stage, c to commit, P to push. It feels so natural to use that you don't even have to think about them. It's like the tool reads your mind.

How I Use It

I map lg to lazygit in my shell.

~/.zshrc
alias lg="lazygit"

When I'm in Zed, I just pop open the integrated terminal (Cmd+J in my setup) and type lg. It feels like a native part of the editor, but better because it's the exact same tool I use on my servers.

If you haven't tried it yet, stop what you're doing and brew install lazygit. Thank me later.