如何使git diff --ignore-space-change默认


110

我可能可以设置一个别名,但是似乎我应该能够在配置文件中将其设置为一个选项,只是我仍然看不到要这样做。

我只--ignore-space-change在进行差异时才需要,而在执行应用或其他任何操作时都不需要。我试图通过不带没有实际变化的多余+/-线来使差异变得更容易理解,从而使差异更易于理解。


2
关心改变正确答案?:)
igorsantos16年

1
现在有一个快捷方式git diff -w,该快捷方式是 --ignore-all-space比较行时忽略空格。即使一行中有空白而另一行中没有空白,这也会忽略差异。
若奥·皮门特尔·费雷拉

Answers:


22

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

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


我也从阅读该页面开始思考。我希望有人知道一种未被记录的方式....哦。
boatcoder 2011年

@Dogbert-我有同样的问题,仅当我执行git add -p <file_name>时,有什么建议吗?
Guy Avraham

@JoãoPimentelFerreira这不是默认值。
DylanYoung


99

如果使用的是可用的Shell操作系统,则可以使用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以实现相同的目的。


8
这应该是公认的答案,因为它实际上对示例有用,而不是“转到此URL”。
DrStrangepork

7
根据当前的git文档-b与相同--ignore-space-change。它与Linux diff命令保持一致,其中-wmeans --ignore-all-space。这是一个重要的区别,因为例如,文本a b c被认为abc-w选项相同。在代码中,这不太可能是您想要的,因此-b是一个更好的选择。
理查德·怀斯曼


10

编辑:我是一个傻瓜,没有彻底阅读您的要求

一种实现类似效果的方法,来自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

它也可能不允许您提交只会更改空白的内容,但是我敢肯定您可以使用一些标志来否决它。


1
OP正在寻找一种方法来设置默认值git diff。为此apply
denishaskin 2014年

10

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

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


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. 每个文件一次显示一次(烦人的问题-有人知道修复程序吗?)

这是我的/ 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获得的)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.