How to make git diff --ignore-space-change the default

GitConfigGit Config

Git Problem Overview


I could probably setup an alias, but it seems like I should be able to set this as an option in the config file, only I don't see anyway to do it.

I only want the --ignore-space-change when I'm doing diff, not when I'm doing apply or anything else. I'm trying to make the diff easier to understand by not cluttering it with with extraneous +/- lines that have no real changes on them.

Git Solutions


Solution 1 - Git

You could use git alias or bash alias if you are using shell-available OS.

  1. git alias : Run this command to add alias:

    git config --global alias.dfw 'diff --ignore-space-change'

    --ignore-space-change can be abbreviated to -w
    to apply the alias using: git dfw

  2. bash alias : Run this command to add bash alias:

    echo "alias gitdfw='git diff --ignore-space-change'">>~/.profile

    Open a new terminal and you can directly run gitdfw to achieve the same.

Solution 2 - Git

According to the Git Config manual, there's no such option. Your only option is to make an alias.

http://git-scm.com/docs/git-config

Solution 3 - Git

Old question (2011), but now there's a shortcut git diff -w which stands for --ignore-all-space

>Ignore whitespace when comparing lines. This ignores differences even if one line has whitespace where the other line has none.

Solution 4 - Git

I'd agree with Dogbert's answer that it's probably best to just use an alias, but another option is to set the config option diff.external to a wrapper script that calls diff with -b.

Solution 5 - Git

This doesn't answer your question exactly, but it's a way to achieve something similar for apply.

From man git-config:

 apply.whitespace
       Tells git apply how to handle whitespaces, in the same way
       as the --whitespace option. See git-apply(1).

So open up your ~/.gitconfig or ./.git/config/ and append

[apply]
   whitespace = nowarn

It might also not let you commit something that only changes whitespace, but I'm sure you can overrule that with some flags.

Solution 6 - Git

it would be great if this were possible with an option. but an alias works fairly well. here are the relevant lines from my .gitconfig:

[diff]
    tool = mydiff
[difftool "mydiff"]
    cmd = "colordiff -NuBbwi \"$LOCAL\" \"$REMOTE\" | less -R"
[difftool]
    prompt = false
[alias]
    dt = difftool

this assumes using colordiff, which i recommend, giving you an almost exact copy of what git diff would show, with two differences:

  1. the --- line in colordiff is colored differently than the same line in git diff (very minor issue)
  2. each file is shown one at a time (annoying issue -- anyone know a fix?)

here's my /etc/colordiffrc:

plain=off
newtext=green
oldtext=red
diffstuff=cyan
cvsstuff=red

Mac OS X 10.9.2, git version 1.8.5.2 (Apple Git-48)

(colordiff was obtained from brew)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionboatcoderView Question on Stackoverflow
Solution 1 - Gityjqg6666View Answer on Stackoverflow
Solution 2 - GitDogbertView Answer on Stackoverflow
Solution 3 - GitJoão Pimentel FerreiraView Answer on Stackoverflow
Solution 4 - GitMark LongairView Answer on Stackoverflow
Solution 5 - Gitsome helpful gitView Answer on Stackoverflow
Solution 6 - GitJoseph CheekView Answer on Stackoverflow