Skip to main content

Acerca de los archivos grandes en GitHub

GitHub Enterprise Server 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.

Platform navigation

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

GitHub Enterprise Server intenta proporcionar almacenamiento abundante para todos los repositorios de Git, aunque hay límites estrictos para los tamaños de archivo , y recomendaciones para los tamaños de repositorio.

Límites de tamaño de archivo

GitHub Enterprise Server 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 MiB. 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 más información, consulte "Eliminación de archivos del historial de un repositorio".

Nota: Si agrega un archivo a un repositorio por medio de un explorador, el archivo no puede ser mayor de 25 MiB. Para obtener más información, vea «Agregar un archivo a un repositorio».

De manera predeterminada, GitHub Enterprise Server bloquea los archivos con un tamaño superior a 100 MiB. Sin embargo, el administrador de un sitio puede configurar un límite diferente para tu instancia de GitHub Enterprise Server. Para más información, consulta "Requerir políticas de administración de repositorios en tu empresa".

Para rastrear archivos que sobrepasen este límite, debes utilizar Almacenamiento de archivos de gran tamaño de Git (Git LFS). Para obtener más información, vea «Acerca de Large File Storage de Git».

Si necesitas distribuir archivos grandes dentro de tu repositorio, puedes crear lanzamientos en tu instancia de GitHub Enterprise Server en vez de rastrear los archivos. Para obtener más información, consulte "Distribución de archivos binarios grandes".

Git no se diseñó para manejar archivos grandes de SQL. Para compartir bases de datos grandes con otros desarrolladores, se recomienda usar un servicio para compartir archivos.

Recomendaciones de tamaño del 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.

Puedes prevenir que tu repositorio impacte tu infraestructura si administras el tamaño de tu repositorio y su estado general con eficacia. Puedes encontrar consejos y una herramienta para el análisis de repositorios en el repositorio github/git-sizer.

Eliminar archivos del historial de un repositorio

Advertencia: Estos procedimientos eliminarán archivos de manera permanente del repositorio de su equipo y de tu instancia de GitHub Enterprise Server. 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 tu instancia de GitHub Enterprise Server, puedes eliminar el archivo y modificar la confirmación:

  1. Abra TerminalTerminalGit Bash.

  2. Cambia el directorio de trabajo actual por tu repositorio local.

  3. Para quitar el archivo, escriba git rm --cached:

    $ git rm --cached GIANT_FILE
    # Stage our giant file for removal, but leave it on disk
    
  4. Confirme este cambio con --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 tu instancia de GitHub Enterprise Server:

    $ 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 quitar archivos del historial del repositorio, puede usar BFG Repo-Cleaner o el comando git filter-repo. Para más información, consulta "Eliminación de datos confidenciales de un repositorio".

Distribuir binarios grandes

Si necesitas distribuir archivos grandes dentro de tu repositorio, puedes crear lanzamientos en tu instancia de GitHub Enterprise Server. 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 "Acerca de los lanzamientos".