如何制作git diff --ignore-space-更改默认值

时间:2011-09-05 15:27:01

标签: git config git-config

我可能会设置一个别名,但似乎我应该能够将它设置为配置文件中的一个选项,但我还是看不到它。

当我在做差异时,我只想要--ignore-space-change,而不是在我申请或其他任何事情时。我试图通过使用没有真正改变的无关+/-线来使差异更容易理解。

6 个答案:

答案 0 :(得分:91)

如果您使用的是shell-available操作系统,则可以使用 git别名 bash别名

  1. git alias :运行此命令添加别名:

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

    --ignore-space-change can be abbreviated to -w
    使用以下内容应用别名:git dfw

  2. bash别名:运行此命令添加bash别名:

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

    打开一个新终端,您可以直接运行gitdfw来实现相同目标。

答案 1 :(得分:23)

根据Git Config手册,没有这样的选择。您唯一的选择是制作别名。

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

答案 2 :(得分:11)

我同意Dogbert's answer最好只使用别名,但另一种选择是将config option diff.external设置为使用{{1}调用diff的包装脚本}}

答案 3 :(得分:8)

编辑:我是个傻瓜而且没有通过你的要求阅读

man git-config

获得类似内容的方法
 apply.whitespace
       Tells git apply how to handle whitespaces, in the same way
       as the --whitespace option. See git-apply(1).

请打开~/.gitconfig./.git/config/并附加

[apply]
   whitespace = nowarn

它也可能不允许你提交只改变空格的东西,但我相信你可以用一些标志来否决它。

答案 4 :(得分:2)

如果有可能选择,那将会很棒。但别名效果很好。这是我的.gitconfig中的相关行:

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

这假设使用colordiff,我建议,给你一个几乎完全 git diff 会显示的副本,但有两点不同:

  1. colordiff中的---颜色与git diff中的同一行颜色不同(非常小的问题)
  2. 每个文件一次显示一个(恼人的问题 - 任何人都知道修复?)
  3. 这是我的/ etc / colordiffrc:

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

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

    (colordiff来自brew)

答案 5 :(得分:2)

旧问题(2011),但现在有一个快捷方式git diff -w代表--ignore-all-space

  

比较行时忽略空格。即使一行中有空白而另一行中没有空白,这也会忽略差异。