おそらくエイリアスを設定できますが、これを設定ファイルのオプションとして設定できるように思えますが、どうしてもそれを行う方法がわかりません。
--ignore-space-change
diffを実行しているとき、applyなどを実行しているときではありません。私は、実際の変更がない外部の+/-行で散らばらないようにすることで、diffを理解しやすくしようとしています。
Git Configマニュアルによると、そのようなオプションはありません。唯一のオプションはエイリアスを作成することです。
シェルで使用可能なOSを使用している場合は、git aliasまたはbash aliasを使用できます。
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
を直接実行して同じことを実現できます。
私は Dogbertの答え に同意するでしょう。エイリアスを使用するのがおそらく最善ですが、別のオプションは config option diff.external
をラッパースクリプトに設定することです-b
でdiff
を呼び出します。
編集:私は愚かであり、あなたの要求を完全に読まなかった
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
また、空白のみを変更するものをコミットできない場合もありますが、いくつかのフラグを使用してそれを無効にできると確信しています。
古い質問(2011)ですが、現在git diff -w
を表すショートカット--ignore-all-space
があります
行を比較するときに空白を無視します。これは、ある行に空白があり、他の行にはない場合でも、違いを無視します。
これがオプションで可能であれば素晴らしいことです。しかし、エイリアスはかなりうまく機能します。ここに私の.gitconfigからの関連する行があります:
[diff]
tool = mydiff
[difftool "mydiff"]
cmd = "colordiff -NuBbwi \"$LOCAL\" \"$REMOTE\" | less -R"
[difftool]
Prompt = false
[alias]
dt = difftool
これは、colordiffを使用することを前提としています。これをお勧めします。git diffが表示する内容の正確なコピーalmostを提供します。 :
ここに私の/ 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から取得されました)