我可能可以设置一个别名,但似乎我应该能够将其设置为配置文件中的一个选项,只是我看不到这样做。
我只想要--ignore-space-change
我做差异的时候,而不是我做应用或其他任何事情的时候。我试图通过不与没有实际变化的无关 +/- 行混淆它来使差异更容易理解。
我可能可以设置一个别名,但似乎我应该能够将其设置为配置文件中的一个选项,只是我看不到这样做。
我只想要--ignore-space-change
我做差异的时候,而不是我做应用或其他任何事情的时候。我试图通过不与没有实际变化的无关 +/- 行混淆它来使差异更容易理解。
如果您使用的是 shell 可用的操作系统,则可以使用git 别名或bash 别名。
git alias:运行此命令以添加别名:
git config --global alias.dfw 'diff --ignore-space-change'
--ignore-space-change can be abbreviated to -w
使用以下方法应用别名:git dfw
bash 别名:运行此命令以添加 bash 别名:
echo "alias gitdfw='git diff --ignore-space-change'">>~/.profile
打开一个新的终端,你可以直接运行gitdfw
来实现相同的。
根据 Git Config 手册,没有这样的选项。您唯一的选择是创建别名。
老问题(2011),但现在有一个捷径git diff -w
代表 --ignore-all-space
比较行时忽略空格。即使一行有空白而另一行没有空白,这也会忽略差异。
我同意Dogbert 的回答,即最好只使用别名,但另一种选择是将config 选项diff.external
设置为diff
使用-b
.
这并不能准确回答您的问题,但它是一种实现类似apply
.
来自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
or./.git/config/
并追加
[apply]
whitespace = nowarn
它也可能不允许您提交仅更改空格的内容,但我相信您可以使用一些标志来推翻它。
如果有一个选项可以做到这一点,那就太好了。但是别名效果很好。以下是我的 .gitconfig 中的相关行:
[diff]
tool = mydiff
[difftool "mydiff"]
cmd = "colordiff -NuBbwi \"$LOCAL\" \"$REMOTE\" | less -R"
[difftool]
prompt = false
[alias]
dt = difftool
这假设使用我推荐的 colordiff,为您提供git diff将显示的几乎完全相同的副本,但有两个不同之处:
这是我的 /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 中获得的)