问题
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 --ignore-space-change
when I'm doing diff, not when I'm doing apply or anything else. I'm trying to make the diff easier to understand by not cluttering it with with extraneous +/- lines that have no real changes on them.
回答1:
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
回答2:
You could use git alias or bash alias if you are using shell-available OS.
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
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.
回答3:
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
.
回答4:
EDIT: I AM A FOOL AND DIDN'T READ YOUR REQUEST THROUGHLY
A way to achieve something similar, 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.
回答5:
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.
回答6:
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:
- the --- line in colordiff is colored differently than the same line in git diff (very minor issue)
- 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)
来源:https://stackoverflow.com/questions/7310033/how-to-make-git-diff-ignore-space-change-the-default