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

boa*_*der 105 git config git-config

我可能会设置一个别名,但似乎我应该能够将其设置为配置文件中的一个选项,但我无论如何也看不到它.

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

小智 95

如果您使用的是shell-available OS,则可以使用git别名bash别名.

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

    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来实现相同的目标.

  • 这应该是公认的答案,因为它实际上对示例有用,而不是"转到此URL". (7认同)
  • 根据[当前git文档](https://git-scm.com/docs/git-diff),`-b`与`--ignore-space-change`相同.它与Linux`diff`命令一致,其中`-w`表示`--ignore-all-space`.这是一个重要的区别,因为,例如,文本`abc`被认为与`-w`选项的`abc`相同; 在代码中,这不太可能是你想要的,所以`-b`是一个更好的选择. (5认同)

Dog*_*ert 22

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

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


Mar*_*air 11

我同意Dogbert的答案,这可能是最好只使用一个别名,但另一种选择是设置配置选项diff.external来调用一个包装脚本diff-b.


小智 9

编辑:我是一个傻瓜,并没有通过你的请求阅读

从以下方面实现类似的方法man git-config:

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

所以打开你的~/.gitconfig或者./.git/config/追加

[apply]
   whitespace = nowarn
Run Code Online (Sandbox Code Playgroud)

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


Joã*_*ira 5

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

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