En una migración de repositorios de BitBucket a GitHub recibí un error interesante cuando intenté pushear un repositorio con algunos archivos grandes dentro.
GitHub sólo permite archivos de hasta 100 MB. El problema es que tengo que eliminar este archivo completamente de mi repositorio de forma temporal de todas la ramas y de todo el historial de commits. Luego de esto hay que volver a subirlo de manera individual con una herramienta de GitHub para el manejo de archivo superiores a 100MB.
Error Output:
remote: warning: File src/folder/*******.zip is 50.63 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: 315e9150aaaea7f449b2b27f2fade328
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File src/folder.]/***** is 105.77 MB; this exceeds GitHub's file size limit of 100.00 MB
To github.com:cramosinviu/app-investor.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:user/repository.git'
Con la siguientes lineas podemos borrar un archivo especifico o una carpeta.
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch ruta/archivo-a-borrar.xxx'
git filter-branch --tree-filter 'rm -rf ruta/carpeta-a-borrar'
Una vez que se pusheo el código podemos subir el archivo de mas de 100mb si es necesario, usando una herramienta especifica de GitHub, dejo a continuación un link hacia la documentación.
Git Large File Storage: https://git-lfs.github.com