Git: Adelgazando repositorios

En ocasiones veo muertos, digo veo repositorios hipertrofiados de más de 2 gigas, que viene a ser el límite de Bitbucket para repositorios gratuitos. Realmente si tu proyecto tiene más de 2 gigas de código o acabas de crear Matrix o háztelo mirar.

¿Qué podemos hacer para aligerar el repositorio? Lo más fácil es ponerte a borrar ramas, pero claro, rama que borras información que desaparece para siempre.

Podemos también borrar carpetas o ficheros con git rm directamente: git rm Documentation/\*.txt

Algo más complejo es utilizar git-filter-branch para ir recorriendo todos los commits y borrar ficheros para adelgazar el repo: git filter-branch --tree-filter 'rm filename' HEAD

Pues borrar también carpetas del histórico de forma parecida: git filter-branch --subdirectory-filter foodir -- --all

Y por último podemos acabar con esos ficheros monstruosos que se cuelan en nuestro repo sin saber muy bien cómo con la herramienta BFG Repo-cleaner, que nos permite borrar ficheros grandes del repositorio a una velocidad increíble.

El proceso con BFG es algo largo, requiere descargar el Jar de BFG, clonar el repositorio en modo mirror y ejecutar una serie de pasos, en su web vienen muy bien explicados.

En fin, maravillas que te trae el día a día con Git.

Espero que el post os sea de utilidad ^_^.


Comentarios