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.