"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cómo enviar archivos grandes al repositorio de Git usando Git LFS

Cómo enviar archivos grandes al repositorio de Git usando Git LFS

Publicado el 2024-11-02
Navegar:681

How to push large files to git repository using Git LFS

Recientemente estaba trabajando en un proyecto en el que tenía que trabajar con recursos de alta resolución y, como resultado, eran de gran tamaño. No pude enviar los archivos a mi repositorio. Cada vez que lo intenté, recibí el siguiente error:

remoto: error: el archivo file.csv tiene 182,47 MB; esto excede el límite de tamaño de archivo de GitHub de 100,00 MB
remoto: error: GH001: Se detectaron archivos grandes. Quizás quieras probar Git Large File Storage: https://git-lfs.github.com.

Ahora hablemos sobre la extensión Git LFS y cómo utilizarla.

Git Large File Storage (LFS) es una extensión de Git diseñada para manejar archivos grandes en su repositorio de manera más eficiente.

1. ¿Qué es Git?

Git es un sistema de control de versiones que te permite realizar un seguimiento de los cambios en tu código y colaborar con otros. Normalmente, Git guarda todo el contenido (archivos, código, etc.) directamente en su repositorio, incluidas imágenes, videos o archivos binarios de gran tamaño.

2. ¿Por qué necesitamos Git LFS?

De forma predeterminada, Git almacena todo, pero los archivos grandes, como imágenes, videos o conjuntos de datos de alta resolución, pueden hacer que su repositorio sea muy grande y lento. Cada vez que presionas o retiras cambios, Git descarga todos los datos, lo que lleva tiempo y utiliza más espacio de almacenamiento en tu máquina.

Git LFS está diseñado para manejar estos archivos grandes de manera más eficiente al:

  • Almacenar archivos grandes por separado: en lugar de guardar archivos grandes directamente en su repositorio, Git LFS los reemplaza con punteros (pequeñas referencias). El archivo real se almacena fuera de su repositorio en una ubicación separada.

  • Mantener el repositorio liviano: de esta manera, tu repositorio se mantiene liviano y rápido porque Git solo descarga los archivos grandes cuando los necesitas.

3.¿Cómo funciona Git LFS?

Cuando agregas un archivo grande (por ejemplo, un video o una imagen) a tu repositorio, Git LFS lo reemplaza con un archivo de puntero pequeño.

El archivo de puntero le dice a Git LFS dónde está realmente almacenado el archivo grande.
Cuando alguien más clona su repositorio o realiza cambios, obtendrá el archivo de puntero en lugar del archivo grande en sí, a menos que extraiga explícitamente los archivos grandes.

4. Primeros pasos con Git LFS

Para comenzar a usar Git LFS en tu proyecto, sigue estos pasos:

1.Instalar Git LFS: Necesitas instalar Git LFS en tu máquina. Para la mayoría de los sistemas, esto se hace ejecutando:

git lfs install

2.Seguimiento de archivos grandes: una vez instalado, debe indicarle a Git LFS qué archivos rastrear (por ejemplo, todos los archivos .png o _.mp4 _files). Esto se hace usando el comando git lfs track:

git lfs track "*.png"

Esto le dice a Git LFS que rastree todos los archivos que terminan en .png.

3. Confirmar los cambios: después de ejecutar el comando track, Git LFS crea un archivo .gitattributes que define las reglas sobre qué archivos rastrear. Debes enviar este archivo a tu repositorio:

git add .gitattributes
git commit -m "Track large files using Git LFS"

4.Agregar y enviar archivos grandes: ahora, cuando agregue un archivo grande (por ejemplo, un video o una imagen), Git LFS lo administrará automáticamente:

git add largefile.mp4
git commit -m "Add large video file"
git push

Nota
Asegúrese de haber inicializado y configurado LFS antes de enviar sus archivos grandes; de lo contrario, git LFS no rastreará el archivo cuando lo presione. Y seguirás recibiendo el error como antes. También encontré este problema cuando comencé a usar la extensión git LFS.

5. Extrayendo archivos grandes:
Cuando alguien clona o extrae su repositorio, obtendrá los archivos de puntero livianos de forma predeterminada. Si quieren los archivos realmente grandes, pueden bajarlos con:

git lfs pull

6. Beneficios de Git LFS

  • Acelera las operaciones de Git: tu repositorio se mantiene rápido porque Git no tiene que manejar archivos grandes directamente.

  • Reduce el uso de almacenamiento: los archivos grandes se almacenan por separado, lo que reduce el tamaño de su repositorio.

  • Colaboración eficiente: solo se descargan los archivos grandes necesarios cuando es necesario.

7. Desventajas de Git LFS

  • Límites de almacenamiento: algunas plataformas (como GitHub) ofrecen almacenamiento gratuito limitado para LFS y es posible que tengas que pagar por almacenamiento adicional si tienes muchos archivos grandes.

  • Extracciones más lentas con archivos grandes: si tienes muchos archivos grandes y los descargas todos a la vez, aún puede llevar tiempo, aunque Git LFS optimiza esto en comparación con Git normal.

No dudes en agregar comentarios o preguntas. Con gusto les responderé

Declaración de liberación Este artículo se reproduce en: https://dev.to/unegbuclinton/how-to-push-large-files-to-git-repository-using-git-lfs-5db3?1 Si hay alguna infracción, comuníquese con Study_golang @163.com eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3