Pro Git
Pro Git El archivo enorme es el último: 5MB. Para concretar cual es el archivo, puedes utilizar el comando rev-list que ya vimos brevemente en Obligando a utilizar un formato específico en el mensaje de commit. Con la opción --objects, obtendrás la lista de todas las SHA-1s de todas las confirmaciones de cambio, junto a las SHA-1s de los objetos binarios y las ubicaciones (paths) de cada uno de ellos. Puedes usar esta información para localizar el nombre del objeto binario:
$ git rev-list --objects --all | grep 82c99a3 82c99a3e86bb1267b236a4b6eff7868d97489af1 git.tgzUna vez tengas ese dato, lo puedes utilizar para borrar ese archivo en todos los árboles pasados. Es sencillo revisar cuales son las confirmaciones de cambios donde interviene ese archivo:
$ git log --oneline --branches -- git.tgz dadf725 oops - removed large tarball 7b30847 add git tarballPara borrar realmente ese archivo de tu historial Git, has de reescribir todas las confirmaciones de cambio desde 7b30847. Y, para ello, puedes emplear el comando filter-branch que se vió en Reescribiendo la Historia: