Tech News
← Back to articles

The (Lazy) Git UI You Didn't Know You Need

read original related products more articles

When my son was born last April, I had ambitious learning plans for the upcoming 5w paternity leave. As you can imagine, with two kids, life quickly verified this plan 🙃. I did eventually start some projects. One of the goals (sounding rebellious in the current AI hype cycle) was to learn and use neovim for coding. As a Goland aficionado, I (and my wrist) have always been tempted by no-mouse, OSS, gopls based, highly configurable dev setups.

Long story short, I’d still stick to Goland for my professional coding (for now), but during the experiments with nvim , I accidentally stumbled upon lazygit Git UI. I literally mistyped gg instead of gg , which opened up the built-in lazygit overlay UI.

A week later, I have already switched all my git workflows to lazygit (also outside nvim ), and I have been using it since then. In this post, I’d like to explain why it happened so quickly, so:

What makes lazygit so special?

so special? How can it make you more productive?

What we can all learn from lazygit around designing incredible software with seamless UX?

Let’s jump in!

Likely every developer knows and (in some form) uses the git CLI . It’s relatively simple, and it seems incredibly stable – the only change I noticed in the last decade was the new git switch command, although I still haven’t “switched” to it from the lovely git checkout 🙃 .

As a result, it’s common to see developers memorize a few commands you typically use (e.g. clone , fetch/pull , config/remote , add/rm , status , checkout , commit , push , cherry-pick , rebase , merge , log ) and stick to the CLI. In fact, in 2022, 83% of the StackOverflow responders said they prefer CLI to other interfaces and that number is likely still quite high nowadays.

However, graphical interfaces and generally other git compatible clients do exist:

... continue reading