Pregunta LF será reemplazado por CRLF en git - ¿Qué es eso y es importante? [duplicar]


Posible duplicado:
git reemplazando LF con CRLF 

Cuando creo una nueva aplicación de rieles, veo una advertencia en git sobre el reemplazo de LF. hago     git init     git add.

y luego boom! Veo esto emergente para casi todos los archivos. Normalmente sigo y construyo mi aplicación y desaparece después de muchos cambios en los archivos.

Ejemplo:

El archivo tendrá sus finales de línea originales en su directorio de trabajo.   advertencia: LF será reemplazado por CRLF en Gemfile.

El archivo tendrá sus finales de línea originales en su directorio de trabajo.   advertencia: LF será reemplazado por CRLF en Gemfile.lock.

El archivo tendrá sus finales de línea originales en su directorio de trabajo.   advertencia: LF será reemplazado por CRLF en README.

¿Cuál es la diferencia entre LF y CRLF?

¿Debería preocuparme por esto a largo plazo o simplemente ignorarlo y seguir como siempre?


818
2018-04-29 15:28


origen


Respuestas:


En 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) por lo tanto (CRLF). cuando recibas el código de git que se cargó desde un sistema Unix, solo tendrán un LF.

Si desea desactivar esta advertencia, escriba esto en la línea de comando git

git config core.autocrlf true

Si quieres tomar una decisión inteligente sobre cómo debe manejar esto, lee la documentación 

Aquí hay un fragmento

Formateo y espacio en blanco

Problemas de formato y espacio en blanco son algunos de los más frustrantes y   problemas sutiles que muchos desarrolladores encuentran al colaborar,   especialmente multiplataforma. Es muy fácil para parches u otros   trabajo colaborativo para introducir cambios sutiles en el espacio en blanco porque   los editores los presentan silenciosamente, y si sus archivos alguna vez tocan un   Sistema de Windows, sus terminaciones de línea podrían ser reemplazadas. Git tiene algunos   opciones de configuración para ayudar con estos problemas.

core.autocrlf

Si está programando en Windows y trabajando con personas que no lo son   (o viceversa), probablemente se encontrará con problemas de final de línea en algunos   punto. Esto se debe a que Windows usa un carácter de retorno de carro   y un carácter de salto de línea para nuevas líneas en sus archivos, mientras que Mac y   Los sistemas Linux usan solo el carácter de avance de línea. Este es un sutil, pero   hecho increíblemente molesto del trabajo multiplataforma; muchos editores en   Windows silenciosamente reemplaza las terminaciones de línea existentes de estilo LF con CRLF, o   inserte ambos caracteres de final de línea cuando el usuario presione la tecla Intro.

Git puede manejar esto auto-convirtiendo terminaciones de línea CRLF en LF cuando   agrega un archivo al índice y viceversa cuando revisa el código   en tu sistema de archivos Puede activar esta funcionalidad con el   configuración de core.autocrlf. Si está en una máquina con Windows, configúrelo en verdadero   - esto convierte las terminaciones de LF en CRLF cuando retira el código:

$ git config --global core.autocrlf true

Si está en un sistema Linux o Mac que usa terminaciones de línea LF, entonces   no quiero que Git los convierta automáticamente cuando revisa los archivos;   sin embargo, si un archivo con terminaciones CRLF se introduce accidentalmente,   entonces quizás quieras que Git lo arregle. Puedes decirle a Git que convierta CRLF a   LF en commit pero no al revés configurando core.autocrlf para   entrada:

$ git config --global core.autocrlf input

Esta configuración debería dejarte con terminaciones CRLF en las cajas de Windows,   pero finales LF en sistemas Mac y Linux y en el repositorio.

Si usted es un programador de Windows que hace un proyecto solo para Windows, entonces usted   puede desactivar esta funcionalidad, registrando los retornos de carro en   repositorio estableciendo el valor de configuración en falso:

$ git config --global core.autocrlf false

1060
2018-04-29 15:34



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 deshacerse de las advertencias utilizando

git config core.autocrlf true

309
2018-02-01 10:45