How to use --color-words with git add --patch?

When diffing files, I prefer to use git diff --color-words. Is there a way to make this the default format for diffs when using git add --patch or git add --interactive?


Building off of what VonC said:

Starting with Git 2.9, you can use this command to color words during add --patch:

git -c interactive.diffFilter="git diff --color-words" add -p

This sets the interactive.diffFilter variable for the call to add -p without affecting further calls. For me this is ideal because I usually want to run add -p normally, but sometimes want to run it with --color-words.

You can easily add an alias for this command like so:

git config --global alias.addcw '-c interactive.diffFilter="git diff --color-words" add -p'

Taking cue from VonC's answer. Here are detailed steps to use --interactive option introduced in git 2.9.

Add diff-highlight to your PATH.

On Ubuntu, diff-highlight comes with git and can be found in /usr/share/git/diff-highlight/diff-highlight.

Otherwise, you can download and set it up manually.

cd ~/bin
curl -LO "https://raw.githubusercontent.com/git/git/master/contrib/diff-highlight/diff-highlight"
chmod u+x diff-highlight

Restart your shell, if necessary.

Then configure Git to filter your diffs whenever it's showing them in a pager:

git config --global pager.log 'diff-highlight | less'
git config --global pager.show 'diff-highlight | less'
git config --global pager.diff 'diff-highlight | less'
git config --global interactive.diffFilter diff-highlight

This will put an extra emphasis on the changed part of a line, which is almost same as --word-diff.

The advantage is you get word diff every where, like git log --patch or git add -p.

Demonstration of diff-highlight in git log --patch