Ticker

6/recent/ticker-posts

Corregir la advertencia de "LF will be replaced by CRLF..." en Git

Que pasa cuando en muchas ocaciones git insiste en cambiarlos cierto nombre de archivos; recordemos que no es un error, simplemente, es una advertencia generada por una de las opciones de configuración de git, es decir la opción core.autocrlf.

Lo que hace esa opción es indicar si quieres que en el repositorio se guarden los saltos de línea de los ficheros en formato Unix (LF) pese a tener tus ficheros en tu entorno local con saltos de línea al formato Windows (CRLF).

Para el que no sepa esto de LF y CRLF, recuerdo que los ficheros de texto tienen que señalar de alguna manera los saltos de línea. 




En git esto puede ser un problema, si usuarios utilizan editores/sistemas operativos que generan ficheros de texto con finales de línea diferentes. Por ejemplo si tú creas un fichero en Linux con todas las líneas acabando en LF, y un un compañero edita ese fichero en Windows y añade una línea que acaba en CRLF, cuando recibas los cambios de tu compañero verás un caracter extra "basura" en tu editor.

Para evitar esto, git tiene esta funcionalidad (core.autocrlf) que se encarga de convertir los saltos de línea a LF en todos los ficheros de texto del respositorio, para corregir la advertencia se debe ejecutar el siguiente comando git desde el terminal de tu preferencia:

 git config --global core.autocrlf false 
Se puede configurar de varias formas:
  • core.autocrlf = true: Cuando commitees, tus ficheros se transformarán automáticamente a LF, y cuando hagas checkout de un fichero, se convertirá automáticamente a CRLF.
  • core.autocrlf = input: Cuando comitees, tus ficheros se transformarán automáticamente a LF, pero cuando hagas checkout, recibirás el fichero sin modificación de como esté en el repositorio.
  • core.autocrlf = false: No se hará ningún cambio a los finales de línea de los ficheros de texto

Generalmente esta advertencia puede estar pasando porque se está guardando los ficheros con saltos de línea LF desde Windows y git no espera que los guardes de esa manera. Por lo que cuando vuelvas a hacer checkout de los ficheros, los archivos van a ser convertido a CRLF.

Publicar un comentario

0 Comentarios