Are you sad when you are typing
git add shitty/long/path/to/file.exe, but you can't use SourceTree (or other GUI) because you are proud terminal user?
I was too. But now I'm using LazyGit!
A simple terminal UI for git commands, written in Go with the gocui library.
Rant time: You've heard it before, git is powerful, but what good is that power when everything is so damn hard to do? Interactive rebasing requires you to edit a goddamn TODO file in your editor? Are you kidding me? To stage part of a file you need to use a command line program to step through each hunk and if a hunk can't be split down any further but contains code you don't want to stage, you have to edit an arcane patch file by hand? Are you KIDDING me?! Sometimes you get asked to stash your changes when switching branches only to realise that after you switch and unstash that there weren't even any conflicts and it would have been fine to just checkout the branch directly? YOU HAVE GOT TO BE…
You can install it on MacOS using
brew install jesseduffield/lazygit/lazygit
(Linux and Widows are also supported, just read the manual)
LazyGit, as every good terminal app, is configurable. Documentation is not the best, but good enough. For example, you can use it with white theme
Cool GitHub projects is a blog posts series where I will share useful/fancy projects I found on GitHub