git diff --ignore-space-changeをデフォルトにする方法


110

私はおそらくエイリアスを設定することができましたが、設定ファイルのオプションとしてこれを設定できるように思えますが、それを行うにはどうしても表示されません。

私が必要--ignore-space-changeとしているのは、diffを実行しているときだけです。適用や他のことをしているときではありません。私は、実際の変更のない無関係な+/-行を使用してdiffを乱雑にしないようにして、diffをわかりやすくしようとしています。


2
正しい答えを変更する気ですか?:)
igorsantos07

1
今のショートカットがgit diff -wあり ます--ignore-all-space行を比較するときに空白を無視します。これは、一方の行に空白があり、もう一方の行には空白がない場合でも、違いを無視します。
ジョアンピメンテルフェレイラ

回答:


22

Git Configマニュアルによると、そのようなオプションはありません。あなたの唯一の選択肢はエイリアスを作ることです。

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


私もそのページを読んでいると思っていました。誰かがドキュメントに記載されていない方法を知っていることを望んでいました。
ボートコーダー2011

@Dogbert-同じ問題がありますが、git add -p <file_name>を実行したときのみ、何か提案はありますか?
Guy Avraham、

@JoãoPimentelFerreiraそれはそれをデフォルトにしません。
DylanYoung


99

シェルで利用可能なOSを使用している場合は、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、2015

7
よると、現在のgitのドキュメント-b同じです--ignore-space-change。Linux diffコマンドに対応してい-wます--ignore-all-space。ここで、はを意味します。例えば、テキストは、ので、それは重要な区別だa b cと同じと考えられているabc-wオプション。コードでは、これはあなたが望むものではないので-b、より良いオプションです。
Richard Wiseman 2017


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は 2つの違いと、表示されるでしょうが。

  1. --- colordiffの行の色がgit diffの同じ行とは異なる(非常に小さな問題)
  2. 各ファイルが1つずつ表示されます(厄介な問題-誰もが修正を知っていますか?)

ここに私の/ 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から取得されました)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.