¿Te has encontrado alguna vez con un problema de finales de línea incorrectos en tu repositorio Git? Vamos a solucionarlo paso a paso para evitar conflictos entre sistemas operativos y mantener un historial limpio.
Por qué ocurre el problema: Windows usa normalmente CRLF mientras que macOS y Linux usan LF. Al colaborar en equipo con diferentes sistemas y herramientas, es frecuente que los archivos terminen con mezclas de finales de línea que provocan cambios no deseados en los commits y ruido en los diffs.
Configuración recomendada: verifica y ajusta core.autocrlf según tu sistema. En Windows usa el comando git config --global core.autocrlf true. En macOS o Linux usa git config --global core.autocrlf input. Si prefieres controlar el comportamiento por repositorio omite --global.
Usa .gitattributes para forzar consistencia por tipo de archivo. Crea un archivo .gitattributes en la raíz del repositorio con entradas como las siguientes separadas por comas: * text=auto, *.sh text eol=lf, *.bat text eol=crlf. Esto ayuda a que Git normalice los finales al hacer check in y check out.
Normalizar archivos ya comprometidos: si ya tienes archivos con finales mezclados puedes regenerar el índice y forzar la normalización con los comandos: git rm --cached -r ., git add ., git commit -m Normalized_line_endings. Esto aplicará las reglas de .gitattributes a los archivos ya presentes.
Alternativas y herramientas: para convertir archivos locales usa utilidades como dos2unix archivo o unix2dos archivo. También puedes ajustar core.eol para forzar LF o CRLF si necesitas un control más estricto.
Verifica el estado con git status y revisa diffs con git diff --cached antes de pushear. Si trabajas en CI considera incluir una comprobación que valide finales de línea para evitar regresiones.
En Q2BSTUDIO ayudamos a mantener buenas prácticas en desarrollo y control de versiones como parte de nuestros servicios de software a medida. Somos especialistas en desarrollo de aplicaciones a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Si necesitas soporte para poner a punto tu código y procesos de despliegue visita nuestros servicios de desarrollo de aplicaciones y software a medida y descubre cómo podemos optimizar tus repositorios y flujos de trabajo.
Resumen rápido: configura core.autocrlf según tu OS, añade un .gitattributes coherente, normaliza los archivos existentes con git rm --cached -r . y realiza conversiones puntuales con dos2unix cuando haga falta. Con estas acciones reducirás conflictos, facilitarás la colaboración y mantendrás un historial limpio.