Git Management with LazyGit

Git Management with LazyGit

Eric Van Johnson • September 15, 2020

development

LazyGit Babe

I love my command-line prompt. I spend a lot of time in a terminal window, it's fast, I typically don't need to leave my keyboard and reach for a mouse, and I'm old school. I am always looking for small apps that let me spend more productive time in the terminal, and the last gem I've found is called lazygit.

It's a very powerful git management interface and one I would be willing to put up against just about any GUI out there. Simple to use, intuitive, and fast. It even allows for the use of your mouse. That's right; you can use the mouse right there in the terminal.

Lazygit In Action

It has all the typically git functionality you would expect it to have; adding files, checking out branches, pull, push, but also includes things like

Resolving Merge Conflicts

Lazygit Resolve Merge Conflicts

Interactive Rebasing

Lazygit Rebasing

I've also found myself using the append commit feature a lot, one might even say, "too much". One of my favorite features is the ability to look at the diff as you are selected files to add to the commit. You can even get very granular and only commit lines out of a file.

Lazygit is written in go, and the project is maintained by Jesse Duffield. Suggest you check them out on Twitter and Github. Jesse has an entire line of lazy* projects, which include lazydocker, which I've been a fan of for a long time and perhaps I'll post about that in the future, and lazynpm, which I haven't tried yet.

I thought I would do a quick video about how you use it, but honestly, I doubt I could do it any better justice than that of the creator, so here is their video.

If you spend any time in git, do yourself a favor and check this out. It's worth it, and runs on any platform.