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

前端 未结 6 1897

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 <

相关标签:
6条回答
  • 2020-12-04 21:00

    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.

    0 讨论(0)
  • 2020-12-04 21:04

    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.

    0 讨论(0)
  • 2020-12-04 21:09

    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.

    0 讨论(0)
  • 2020-12-04 21:10

    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

    0 讨论(0)
  • 2020-12-04 21:14

    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)

    0 讨论(0)
  • 2020-12-04 21:18

    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.

    0 讨论(0)
提交回复
热议问题