Hace poco moví de un repositorio a otro la parte de infraestructura de esta aplicación WordPress en AWS. Sin darme cuenta, no actualicé el .gitignore y varios archivos de más de 100 megas se añadieron al repositorio.
Cuando esto pasa GitHub nos devuelve el error
Counting objects: 312, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (298/298), done.
Writing objects: 100% (312/312), 44.68 MiB | 2.43 MiB/s, done.
Total 312 (delta 117), reused 0 (delta 0)
remote: Resolving deltas: 100% (117/117), completed with 4 local objects.
remote: error: Trace: b64a6cbdab19a362ffdf446483edc897ae392eafb38e703ae1a9de17c83bde80
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File .terraform/plugins/darwin_amd64/terraform-provider-aws_v2.70.0_x4 is 180.66 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
To github.com:rubendob/myrepo.git
! [remote rejected] develop -> develop (pre-receive hook declined)
error: failed to push some refs to 'git@github.com:rubendob/myrepo.git'
Primero habrá que eliminar del repositorio este archivo y luego, si realmente lo queremos subido al repositorio, utilizar otra herramienta para tal fin. En mi caso, no necesito subir este archivo. Es completamente innecesario.
# git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch .terraform/plugins/darwin_amd64/terraform-provider-aws_v2.70.0_x4'
Rewrite b7cfd272bc6099bd81f3bedb03692436bbac0293 (225/237) (25 seconds passed, remaining 1 predicted) rm '.terraform/plugins/darwin_amd64/terraform-provider-aws_v2.70.0_x4'
Ref 'refs/heads/develop' was rewritten
Luego tuve que hacer más commits para arreglar algunos conflictos pero eso ya es otro tema.