More readable git word diff on macOS or Amazon Linux/CentOS/RedHat
When I make small changes to long lines, the standard git diff display can be a little hard to read.
A community script that improves this view was merged into the git trunk and released with git 1.7.10.
This tip has some brew specific path prefixing - but as long as you specify the path to diff-highlight it will work on any OS.
Before:
After:
Find the path to diff-highlight
:
- on macOS, it should be
brew --prefix git
/share/git-core/contrib/diff-highlight/diff-highlight - on RPM based Linux, it should be
/usr/share/git-core/contrib/diff-highlight
Add this to your Git config:
# ~/.gitconfig
[core]
# Using the macOS path here for simplicity. Replace it for your OS.
pager = `brew --prefix git`/share/git-core/contrib/diff-highlight/diff-highlight | less
Add it with a shell one-liner:
$ git config --global core.pager "`brew --prefix git`/share/git-core/contrib/diff-highlight/diff-highlight | less"
Written by Cameron Tod
Related protips
7 Responses
You can use $(brew --prefix git)/share/git-core/contrib/diff-highlight
Thanks! Updated.
I prefer just setting it in the global config without modifying $PATH
. It's already a mess.
And it's all CLI.
git config --global pager.log `brew --prefix`/share/git-core/contrib/diff-highlight/diff-highlight
git config --global pager.show `brew --prefix`/share/git-core/contrib/diff-highlight/diff-highlight
git config --global pager.diff `brew --prefix`/share/git-core/contrib/diff-highlight/diff-highlight
Much cleaner, thanks! Updated.
For those who had the same issues when installing this on Git 1.8.3.4 ( installed directly as Github suggest), here is what I had to follow besides this.
cd /usr/local/git/contrib
curl -O https://raw.github.com/git/git/master/contrib/diff-highlight/diff-highlight
And also to add this to my .gitconfig
[core]
pager = /usr/local/git/contrib/diff-highlight | less
Suite! Thanks!
make sure "brew --prefix git
" does not appear in ~/.gitconfig, or ruby will be fired up every time you call git diff
with brew --prefix git
in ~/.gitconfig
$ time git diff
git diff 0.20s user 0.07s system 94% cpu 0.285 total
with absolute path in ~/.gitconfig
$ time git diff
git diff 0.05s user 0.04s system 92% cpu 0.095 total