È possibile configurare la gestione della fine riga per repository aggiungendo un file .gitattributes speciale alla cartella principale del repository Git. Se questo file viene eseguito il commit nel repository, sovrascrive l'impostazione core.autocrlf del singolo sviluppatore.
In questo file puoi configurare Git per rilevare automaticamente le terminazioni di linea.
Nota: - Non tutti gli strumenti grafici Git supportano il file .gitattributes, ad esempio l'IDE Eclipse attualmente non lo supporta.
Ecco un esempio di file .gitattributes. Puoi usarlo come modello per i tuoi repository:
# 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
Noterai che i file sono abbinati - *. C, * .sln, * .png--, separati da uno spazio, quindi dati un'impostazione: testo, testo eol = crlf, binario. Esamineremo alcune possibili impostazioni di seguito.
text = auto
Git gestirà i file nel modo che ritiene migliore. Questa è una buona opzione predefinita.
text eol = crlf
Git convertirà sempre le terminazioni di riga in CRLF al momento del pagamento. Dovresti usarlo per i file che devono conservare le terminazioni CRLF, anche su OSX o Linux. Ad esempio, ecco un progetto Windows che impone la terminazione di riga CRLF.
text eol = lf
Git convertirà sempre le terminazioni di riga in LF al momento del pagamento. Dovresti usarlo per i file che devono conservare le terminazioni LF, anche su Windows. Ad esempio , ecco un progetto che impone le terminazioni di linea LF.
binario
Git capirà che i file specificati non sono testo e non dovrebbe tentare di cambiarli. L'impostazione binaria è anche un alias per -text -diff.