Tools for a friendlier Git

Author

Marie-Hélène Burle

A number of tools make Git a lot more friendly to use. There are several GUIs, there are integrations into IDEs (e.g. RStudio or VS Code), but the tools I really like make working with Git visually pleasing while remaining in the command line.

Better diffs

diff-so-fancy

diff-so-fancy replaces the obscure git diff markers into human-readable ones and highlight the parts that actually changed in modified lines.

delta

delta additionally provides syntax highlighting for common languages and hyperlinks to files and remotes. It is highly customizable, meaning that colour blind people can change the red and green colours into whatever works best for them. It is really a great tool!

difftastic

difftastic gives a diff of the actual language syntax instead of doing a line by line comparison.

Better UI

lazygit

lazygit is an excellent multi-platform terminal user interface for Git. It integrates with either of diff-so-fancy or delta for diffs and it is my favourite Git interface. You can find the installation instructions here.

I gave a webinar on it that you can find here (video below).

Fuzzy finders

If you don’t want to use a full TUI for Git, you can use fuzzy finders to make searching and previewing commits, stashes, or other Git objects a lot nicer.

fzf

fzf is a fantastic multi-platform command line fuzzy finder with a huge versatility.

It is easy to install on your machine and it is already installed on the Alliance clusters.

In this video, I demo quickly how it can be used with Git:

skim

skim is an alternative to fzf written in Rust that can be used in a similar way to search and preview Git objects.