Skip to main content

Second thoughts

Blog about product engineering, long-term games and making better decisions

Lazygit, terminal UI for git commands

Ever since I switched from writing code locally to cloud-based development environment, I was looking for a replacement Git UI in RubyMine and for GitUp. They are great tools, but it’s painful using them when you code on remote server.

In particular, I was looking for a tool that could help me with few tasks:

  • browsing commit history and branches
  • squashing and splitting commits
  • stash specific files and lines
  • staging specific lines in changed files

While vim-fugitive plugin that I use can make all these things, I still missed some specialized git navigation tool that will help me dealing with big streams of changes in huge codebases (Intercom is one majestic monolith).

Yesterday I found Lazygit, and it looks really promising. It does all the listed things and also many more.

There is a awesome overview made by Lazygit’s author, and that’s an example of those rare videos, that more useful to watch on decreased speed:

As many other good things Lazygit written in Go. It has a sibling called Lazydocker, which is inspecting UI for Docker processes, and it’s also worth a spin.