diffには、がありgit diff --ignore-space-at-eol、これで十分です。デフと非難のために、あなたが持つすべての空白の変更を無視することができます-w:git diff -w、git blame -w。
git applyおよびについてgit rebaseは、ドキュメントに記載されています--ignore-whitespace。
マージの場合、外部マージツールを使用する必要があるようです。このラッパースクリプト(未テスト)を使用できます。これfavorite-mergetoolは、お気に入りのマージツールです。を実行しgit -c mergetool.nocr.cmd=/path/to/wrapper/script mergeます。マージの結果はUNIX形式になります。別の形式を希望する場合は、すべてをその別の形式に変換するか$MERGED、マージ後に変換します。
#!/bin/sh
set -e
TEMP=$(mktemp)
tr -d '\013' <"$BASE" >"$TEMP"
mv -f "$TEMP" "$BASE"
TEMP=$(mktemp)
tr -d '\013' <"$LOCAL" >"$TEMP"
mv -f "$TEMP" "$LOCAL"
TEMP=$(mktemp)
tr -d '\013' <"$REMOTE" >"$TEMP"
mv -f "$TEMP" "$REMOTE"
favorite-mergetool "$@"
行末が混在する問題を最小限に抑えるには、テキストファイルがそのように宣言されていることを確認してください。
git-mergeは行末の違いを無視することもできますか?スタックオーバーフロー。