Git Large File Storage (LFS): gestión de archivos grandes en versiones de código

Git Large File Storage (LFS) es una extensión de Git diseñada para mejorar el manejo de archivos grandes, lo que puede ser un desafío en los sistemas de control de versiones tradicionales como Git. Git está optimizado para manejar pequeños cambios en archivos de texto, como el código fuente. Sin embargo, cuando se trata de archivos binarios de gran tamaño, como vídeos, imágenes de alta resolución o bibliotecas, Git puede volverse ineficiente e incluso poco práctico. Esto se debe a que cada vez que se modifica un archivo, Git almacena una copia completa de ese archivo, lo que puede inflar rápidamente el tamaño del repositorio y hacer que las operaciones de clonación y extracción sean excesivamente lentas.

Git LFS resuelve estos problemas reemplazando archivos grandes en el repositorio de Git con "punteros" livianos, mientras que los archivos en sí se almacenan en un servidor remoto separado. Esto significa que el repositorio de Git sigue siendo pequeño y responsivo, mientras que los archivos grandes se pueden descargar a pedido.

Cómo funciona Git LFS

Para usar Git LFS, debes instalarlo como una extensión de Git separada. Una vez instalado, puede especificar qué tipos de archivos desea que Git LFS rastree. Esto se hace mediante el comando git lfs track, que agrega una entrada al archivo .gitattributes en su repositorio. Por ejemplo:

pista git lfs "*.psd"

Esto le indicará a Git que use LFS para todos los archivos con la extensión .psd. Cuando confirmas un archivo rastreado, Git LFS almacena el archivo real en un repositorio LFS remoto y coloca un puntero en el repositorio de Git. Este puntero es un pequeño archivo de texto que contiene una referencia al archivo real, lo que le permite a Git saber dónde encontrarlo cuando sea necesario.

Ventajas de Git LFS

  • Rendimiento: el repositorio de Git sigue siendo liviano y rápido, ya que solo se almacenan punteros, no los archivos grandes en sí.
  • Control de versiones: Git LFS te permite versionar archivos grandes de la misma manera que lo harías con archivos más pequeños, manteniendo el historial de cambios.
  • Colaboración: la colaboración en proyectos con archivos grandes se vuelve más práctica ya que los colaboradores pueden clonar y trabajar en el repositorio sin descargar todos los archivos grandes inmediatamente.
  • Almacenamiento eficiente: los archivos se descargan solo cuando son necesarios, lo que ahorra espacio en disco y ancho de banda.

Configurando Git LFS

Para comenzar con Git LFS, sigue estos pasos:

  1. Instalar Git LFS. Puedes descargarlo del sitio web oficial o instalarlo usando un administrador de paquetes.
  2. Ejecute git lfs install para configurar Git LFS en su sistema.
  3. Elija los tipos de archivos que desea que Git LFS rastree y agréguelos al archivo .gitattributes usando el comando git lfs track.
  4. Confirme el archivo .gitattributes en su repositorio para garantizar que todos los que clonen el repositorio sepan qué archivos administra LFS.
  5. Continúe usando Git como de costumbre. Cuando confirmas un archivo rastreado por LFS, Git LFS se encargará automáticamente de almacenar el archivo en el servidor LFS.

Limitaciones y consideraciones

Si bien Git LFS es una herramienta poderosa, hay algunas consideraciones a tener en cuenta:

  • Costos de almacenamiento: Dependiendo de dónde alojes tu servidor Git LFS, puede haber costos asociados con el almacenamiento y la transferencia de datos.
  • Configuración del cliente: Todos los colaboradores deben tener Git LFS instalado y configurado en sus máquinas para interactuar correctamente con archivos grandes.
  • Límites de transferencia: Algunos servicios de hosting tienen límites en la cantidad de datos que puedes transferir mensualmente.

Conclusión

Git LFS es una solución esencial para equipos que trabajan con archivos binarios de gran tamaño, ya que les permite aprovechar los beneficios del control de versiones sin saturar el repositorio de Git. Al almacenar eficientemente estos archivos grandes fuera del repositorio principal y utilizar punteros para hacer referencia a ellos, Git LFS mantiene la agilidad y eficiencia del repositorio al tiempo que facilita la colaboración en proyectos de todos los tamaños.

Con una configuración adecuada y conocimiento de sus limitaciones, Git LFS puede ser una valiosa adición a su flujo de trabajo de desarrollo, asegurando que la administración de archivos grandes sea tan fluida y efectiva como el control de versiones de código con Git y GitHub.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es el comando utilizado para especificar qué tipos de archivos debe rastrear Git Large File Storage (LFS)?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo API de GitHub para automatización e integración 49

Siguiente página del libro electrónico gratuito:

API de GitHub para automatización e integración

Tiempo estimado de lectura: 5 minutos

Descarga la aplicación para obtener una certificación gratuita y escuchar cursos en segundo plano, incluso con la pantalla apagada.

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.