Você pode configurar o tratamento final da linha por repositório adicionando um arquivo .gitattributes especial à pasta raiz do seu repositório Git. Se esse arquivo for confirmado no repositório, ele substituirá a configuração core.autocrlf do desenvolvedor individual.
Neste arquivo, você pode configurar o Git para detectar automaticamente os finais de linha.
Nota: - Nem todas as ferramentas gráficas do Git suportam o arquivo .gitattributes, por exemplo, o Eclipse IDE atualmente não suporta.
Aqui está um exemplo de arquivo .gitattributes. Você pode usá-lo como um modelo para seus repositórios:
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
Você notará que os arquivos são correspondidos - *. c, * .sln, * .png--, separados por um espaço, então recebem uma configuração - texto, texto eol = crlf, binário. Analisaremos algumas configurações possíveis abaixo.
text = auto O Git irá lidar com os arquivos da maneira que achar melhor. Esta é uma boa opção padrão.
texto eol = crlf O Git sempre converterá finais de linha em CRLF no checkout. Você deve usar isso para arquivos que devem manter as terminações CRLF, mesmo em OSX ou Linux. Por exemplo, aqui está um projeto do Windows que impõe finais de linha CRLF.
texto eol = lf O Git irá sempre converter os finais de linha para LF no checkout. Você deve usar isso para arquivos que devem manter as terminações LF, mesmo no Windows. Para exemplo , aqui está um projeto que reforça os finais de linha do LF.
binário O Git entenderá que os arquivos especificados não são texto e não deve tentar alterá-los. A configuração binária também é um apelido para -text -diff.