100

エディタがソース ファイルの行末を変更しています。するとgit diff、同じ行が 2 回表示されます。1 回目-と 1 回+目です。目に見える違いはありません。

git diffこの変更が実際にどのようなものであったかを示すにはどうすればよいですか?

4

5 に答える 5

70

まず、色付きの出力を使用していることを確認git diff --colorし (例: )、空白の強調表示を (例:)

git config color.diff.whitespace "red reverse"

ただし、削除されたgitの末尾の空白が強調表示されないように見えるため、これはすべての場合に機能するとは限りません。削除した空白を表示するには、単に使用します

git diff -R

空白を比較の「追加」側に配置して、強調表示します。

詳細については、この SO questionの回答を参照してください。

于 2012-07-16T17:42:49.410 に答える
33

空白の変更を確認する 1 つの方法は、文字ごとの「単語差分」を次のように実行することです。

git diff --color --word-diff-regex=.

これにより、行内のすべての空白の変更がすべて強調表示されます。削除された空白は and でラップされ、空白が[-and-]に追加されます。{++}

あるいは、アレックスが提案したように

git diff --color --ws-error-highlight=new,old

行末のすべての空白の変更を強調表示します

于 2016-04-13T16:57:26.463 に答える
5

グラフィカルな差分ツールを使用すると、変更がより適切に表示されます。試してみてくださいgit difftool

meldを使用し、空白を表示するようにプリファレンスを設定します。([編集]->[設定]->[空白を表示])。

他のグラフィカルツールにも同様のオプションがあります。@Cottonのanswer+commentは、vimdiffを使用してこれを行う方法を示しています。

于 2010-10-13T17:04:02.923 に答える