Acerca de los archivos grandes en GitHub

GitHub limita el tamaño de los archivos que puedes rastrear en los repositorios regulares de Git. Aprende cómo rastrear o eliminar archivos que sobrepasan el límite.

Acerca de los límites de tamaño en GitHub

GitHub intenta proporcionar almacenamiento abundante para todos los repositorios de Git, aunque existen límites físicos para los tamaños de los archivos y repositorios. Para garantizar el rendimiento y la legibilidad para nuestros usuarios, monitoreamos activamente las señales de la salud general de los repositorios. La salud de los repositorios es una función de varios factores de interacción, incluyendo el tamaño, frecuencia de confirmaciones y estructura.

Límites de tamaño de archivos

GitHub limita el tamaño de los archivos permitidos en los repositorios. Recibirás una advertencia de Git si intentas añadir o actualizar un archivo mayor a 50 MB. Los cambios aún se subirán a tu repositorio, pero puedes considerar eliminar la confirmación para minimizar el impacto en el rendimiento. Para obtener información, consulta Eliminar archivos del historial de un repositorio"

Nota: si agregas un archivo a un repositorio por medio de un navegador, el archivo no puede ser mayor de 25 MB. Para obtener más información, consulta la sección "Agregar un archivo a un repositorio."

GitHub bloquea las subidas que excedan 100 MB.

Para rastrear archivos que sobrepasen este límite, debes utilizar Almacenamiento de archivos de gran tamaño Git (Git LFS). Para obtener más información, consulta la sección "Acerca de Almacenamiento de archivos de gran tamaño Git".

Si necesitas distribuir archivos grandes dentro de tu repositorio, puedes crear lanzamientos en GitHub en vez de rastrear los archivos. Para obtener más información, consulta la sección "Distribuir archivos binarios grandes".

Git no se diseñó para manejar archivos grandes de SQL. Para compartir bases de datos grandes con otros desarrolladores, te recomendamos utilizar Dropbox.

Límites de tamaño de repositorio

Te recomendamos que los repositorios sean siempre pequeños, idealmente, de menos de 1 GB, y se recomienda ampliamente que sean de menos de 5GB. Los repositorios más pequeños se clonan más rápido y se puede mantenerlos mejor y trabajar en ellos más fácilmente. Si tu repositorio impacta excesivamente nuestra infraestructura, puede que recibas un mensaje de correo electrónico de Soporte de GitHub, el cual te solicitará que tomes acciones correctivas. Intentamos ser flexibles, especialmente con proyectos grandes que tienen muchos colaboradores, y trabajaremos junto contigo para encontrar una resolución cada que sea posible. Puedes prevenir que tu repositorio impacte nuestra infraestructura si administras el tamaño de tu repositorio y su salud general con eficacia. Puedes encontrar consejos y una herramienta para análisis de repositorios en el repositorio github/git-sizer.

Las dependencias externas pueden causar que los repositorios de Git se hagan muy grandes. Para evitar llenar un repositorio con dependencias externas, te recomendamos utilizar un administrador de paquetes. Los administradores de paquetes populares para lenguajes (de programación) comunes incluyen a Bundler, Node's Package Manager, y Maven. Estos administradores de paquetes soportan la utilización directa de repositorios de Git para que no dependas de fuentes pre-empacadas.

Git no está diseñado para fungir como una herramienta de respaldo. Sin embargo, existen muchas soluciones diseñadas específicamente para realizar respaldos, tales como Arq, Carbonite, y CrashPlan.

Eliminar archivos del historial de un repositorio

Advertencia: Estos procedimientos eliminarán archivos de manera permanente del repositorio de tu computadora y de GitHub. Si el archivo es importante, haz una copia de seguridad local en un directorio por fuera del repositorio.

Eliminar un archivo agregado en la confirmación más reciente no subida

Si el archivo se agregó con tu confirmación más reciente, y no lo subiste a GitHub, puedes eliminar el archivo y modificar la confirmación:

  1. Abre la TerminalTerminalGit Bash.
  2. Cambia el directorio de trabajo actual por tu repositorio local.
  3. Para eliminar el archivo, ingresa a git rm --cached:
    $ git rm --cached giant_file
    # Stage our giant file for removal, but leave it on disk
  4. Confirma este cambio usando --amend -CHEAD:
    $ git commit --amend -CHEAD
    # Amend the previous commit with your change
    # Simply making a new commit won't work, as you need
    # to remove the file from the unpushed history as well
  5. Sube tus confirmaciones a GitHub:
    $ git push
    # Push our rewritten, smaller commit

Eliminar un archivo que se añadió en una confirmación de cambios previa

Si añadiste un archivo en una confirmación previa, necesitas eliminarlo del historial del repositorio. Para eliminar archivos de la historia del repositorio, puedes utilizar BFG Repo-Cleaner o el comando git filter-branch. Para obtener más información, consulta la sección "Eliminar datos sensibles de un repositorio".

Distribuir binarios grandes

Si necesitas distribuir archivos grandes dentro de tu repositorio, puedes crear lanzamientos en GitHub. Los lanzamientos te permiten empaquetar el software, notas de lanzamiento y enlaces a los archivos binarios para que otras personas puedan utilizarlos. Para obtener más información, consulta la sección "Acerca de los lanzamientos".

No limitamos el tamaño total de los archivos binarios en los lanzamientos o anchos de banda que se utilizan para entregarlos. Sin embargo, cada archivo individual debe ser menor a 2 GB.

¿Te ayudó este documento?

Política de privacidad

¡Ayúdanos a hacer geniales estos documentos!

Todos los documentos de GitHub son de código abierto. ¿Notas algo que esté mal o que no sea claro? Emite una solicitud de cambios.

Haz una contribución

O, aprende cómo contribuir.