Para diff, há git diff --ignore-space-at-eol
, que deve ser bom o suficiente. Para diferenças e culpas, você pode ignorar todas as alterações de espaço em branco com -w
: git diff -w
, git blame -w
.
Para git apply
e git rebase
, a documentação menciona --ignore-whitespace
.
Para a mesclagem, parece que você precisa usar uma ferramenta de mesclagem externa. Você pode usar esse script de wrapper (não testado), em que favorite-mergetool
é a sua fusão favorita ferramenta ; execute git -c mergetool.nocr.cmd=/path/to/wrapper/script merge
. O resultado da mesclagem será no formato unix; se preferir outro formato, converta tudo para esse formato diferente ou converta $MERGED
após a mesclagem.
#!/bin/sh
set -e
TEMP=$(mktemp)
tr -d '3' <"$BASE" >"$TEMP"
mv -f "$TEMP" "$BASE"
TEMP=$(mktemp)
tr -d '3' <"$LOCAL" >"$TEMP"
mv -f "$TEMP" "$LOCAL"
TEMP=$(mktemp)
tr -d '3' <"$REMOTE" >"$TEMP"
mv -f "$TEMP" "$REMOTE"
favorite-mergetool "$@"
Para minimizar problemas com finais de linha mistos, certifique-se de que os arquivos de texto sejam declarados como tal .
Veja também É possível para git - Ignorar diferenças de fim de linha? no estouro de pilha.