LF será reemplazado por CRLF en git: ¿qué es eso y es importante? [duplicar]
git init
git add .
Da las siguientes advertencias para muchos archivos:
El archivo tendrá sus finales de línea originales en su directorio de trabajo. Advertencia: LF será reemplazado por CRLF en <nombre de archivo>.
¿Cuál es la diferencia entre LF y CRLF? ¿Qué debo hacer con las advertencias?
En los sistemas Unix, el final de una línea se representa con un avance de línea (LF). En Windows, una línea se representa con un retorno de carro (CR) y un avance de línea (LF), es decir, (CRLF). cuando obtienes un código de git que se cargó desde un sistema Unix, solo tendrán un LF.
Si es un desarrollador único que trabaja en una máquina con Windows y no le importa que git reemplace automáticamente los LF por CRLF, puede desactivar esta advertencia escribiendo lo siguiente en la línea de comando de git
git config core.autocrlf true
Si desea tomar una decisión inteligente sobre cómo debe manejar esto Git, lea la documentación.
Aquí hay un fragmento
Formato y espacios en blanco
Los problemas de formato y espacios en blanco son algunos de los problemas más frustrantes y sutiles que encuentran muchos desarrolladores al colaborar, especialmente en plataformas cruzadas. Es muy fácil que los parches u otros trabajos colaborativos introduzcan cambios sutiles en los espacios en blanco porque los editores los introducen silenciosamente, y si sus archivos alguna vez tocan un sistema Windows, sus finales de línea podrían ser reemplazados. Git tiene algunas opciones de configuración para ayudar con estos problemas.
core.autocrlf
Si estás programando en Windows y trabajando con personas que no lo son (o viceversa), probablemente te encontrarás con problemas de final de línea en algún momento. Esto se debe a que Windows usa un carácter de retorno de carro y un carácter de salto de línea para las nuevas líneas en sus archivos, mientras que los sistemas Mac y Linux usan solo el carácter de salto de línea. Este es un hecho sutil pero increíblemente molesto del trabajo multiplataforma; muchos editores en Windows reemplazan silenciosamente los finales de línea de estilo LF existentes con CRLF, o insertan ambos caracteres de final de línea cuando el usuario presiona la tecla Intro.
Git puede manejar esto convirtiendo automáticamente los finales de línea CRLF en LF cuando agrega un archivo al índice, y viceversa cuando verifica el código en su sistema de archivos. Puede activar esta funcionalidad con la configuración core.autocrlf. Si está en una máquina con Windows, configúrelo en verdadero; esto convierte las terminaciones LF en CRLF cuando verifica el código:
$ git config --global core.autocrlf true
Si estás en un sistema Linux o Mac que usa finales de línea LF, entonces no querrás que Git los convierta automáticamente cuando extraigas archivos; sin embargo, si se introduce accidentalmente un archivo con terminaciones CRLF, es posible que desee que Git lo arregle. Puedes decirle a Git que convierta CRLF a LF al confirmar, pero no al revés configurando core.autocrlf como entrada:
$ git config --global core.autocrlf input
Esta configuración debería dejarle terminaciones CRLF en las cajas de Windows, pero terminaciones LF en sistemas Mac y Linux y en el repositorio.
Si es un programador de Windows que realiza un proyecto solo para Windows, puede desactivar esta funcionalidad y registrar los retornos de carro en el repositorio estableciendo el valor de configuración en falso:
$ git config --global core.autocrlf false
Si lo desea, puede desactivar esta función en su configuración de git core usando
git config core.autocrlf false
Pero sería mejor simplemente deshacerse de las advertencias usando
git config core.autocrlf true