19

最初のコミットに誤って空白を入れてしまいました-で赤く表示されgit diff --colorます。既存の空白を取り除くための最良の方法は何ですか?また、これが再び発生するのを防ぐにはどうすればよいですか?

組み込みのgitコマンドを必ずしも探しているわけではありません。Ubuntuで無料で利用できる外部プログラムも歓迎します。

4

4 に答える 4

28

現在のディレクトリ内のすべてのファイルの末尾の空白を削除するには、次を使用します。

sed -i 's/[[:space:]]*$//' *

将来の空白エラー(末尾のスペースタブの前のスペースの両方)について警告し、パッチの空白エラーを修正するには、gitconfigファイルに次のコードを追加します。

[core]
    whitespace = trailing-space,space-before-tab
[apply]
    whitespace = fix
于 2010-07-30T18:48:29.477 に答える
14

core.whitespace特定の空白の問題にフラグを立てるように git に指示します。

  • trailing-space行末またはファイル末尾の空白について警告します
  • space-before-tabインデントに使用されるタブの前にスペースがある場合に警告します

apply.whitespaceパッチ適用時に使用します。空白エラー (上記の にリストされているもの) をチェックし、core.whitespace修正 (つまり、削除) を試みた後にパッチを適用します。

これらのオプションは、ユーザーのホーム ディレクトリのルートに~/.gitconfigあるファイル (通常は Linux、Mac OS X、および Windows のどこかはわかりませんが、どこかにあると思います) に入ります。.gitconfig/home/user/.gitconfig/Users/user/.gitconfigC:\Documents and Settings\user

于 2010-07-30T17:36:13.863 に答える