Puede configurar el manejo de final de línea por repositorio agregando un archivo .gitattributes especial a la carpeta raíz de su repositorio Git. Si este archivo está confirmado en el repositorio, anula la configuración core.autocrlf del desarrollador individual.
En este archivo puede configurar Git para detectar automáticamente los finales de línea.
Nota: - No todas las herramientas gráficas de Git admiten el archivo .gitattributes, por ejemplo, el IDE de Eclipse actualmente no lo admite.
Aquí hay un ejemplo de archivo .gitattributes. Puede usarlo como plantilla para sus repositorios:
# 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
Notarás que los archivos coinciden - *. C, * .sln, * .png--, separados por un espacio, luego se les da una configuración: texto, texto eol = crlf, binario. Revisaremos algunas configuraciones posibles a continuación.
text = auto
Git manejará los archivos de la manera que considere mejor. Esta es una buena opción por defecto.
text eol = crlf
Git siempre convertirá terminaciones de línea a CRLF al finalizar la compra. Debe usar esto para archivos que deben mantener terminaciones CRLF, incluso en OSX o Linux. Por ejemplo, aquí hay un proyecto de Windows que impone terminaciones de línea CRLF.
text eol = lf
Git siempre convertirá terminaciones de línea a LF al finalizar la compra. Debe usar esto para archivos que deben mantener terminaciones LF, incluso en Windows. Por ejemplo , aquí hay un proyecto que impone terminaciones de línea LF.
binario
Git comprenderá que los archivos especificados no son texto, y no debe intentar cambiarlos. La configuración binaria también es un alias para -text -diff.