17 de diciembre de 2021

Elimina ficheros borrados del historial de git

Hola,

cuando trabajas sobre repositorios GitHub, como los de nuestro grupo, te puede pasar que en un momento dado agregas mediante commit ficheros de gran tamaño que finalmente no necesitas. Aunque luego los elimines con git rm esos ficheros quedan para siempre en la historia del repo y pueden hacer que clonarlo sea más pesado de lo que realmente necesitas. En esta entrada muestro una manera de eliminar este tipo de ficheros que a nosotros nos ha funcionado bien, basándonos en esta documentación.

1) Para empezar debes obtener la lista de ficheros y su tamaño del historial, deberás obtener el valor de $hash en cada caso:

ls  .git/objects/pack/pack-* 
#set hash=
git verify-pack -v  .git/objects/pack/pack-${hash}.idx | \
    sort -k 3 -n > packs

2) A continuación debes obtener los nombres y paths de esos ficheros:

perl -lane 'system("git rev-list --objects --all | \
    grep $F[0]")' packs > packs.log

3) Finalmente debes revisar packs.log y elegir qué ficheros o directorios quieres eliminar del historial. Debes asegurarte de que ya no los necesitas, porque después ya no podrás recuperarlos. Puede ser buena idea hacer una copia/fork del repositorio por seguridad.

4) Para eliminar, por ejemplo, una carpeta y su contenido, se hace así:

git filter-branch -f --index-filter \
    'git rm --cached --ignore-unmatch carpeta/*' \
    --tag-name-filter cat -- --all

5) Finalmente, para propagar estos cambios al repositorio remoto alojado en GitHub, se haría así:

git push origin --force --all

En posteriores clonados el repositorio será ya de menor tamaño.

Hasta pronto,

Bruno


15 de diciembre de 2021

CRISPR con lego duplo y DeepMind

Hola,

hoy comparto este vídeo donde Helena González Burón explica en el programa Órbita Laika el fundamento de la edición genética con CRISPR/Cas9 (del que habíamos hablado en el blog y en estos apuntes) y las enormes posibilidades y los dilemas éticos que nos presenta:

En el mismo programa Alfonso Valencia explica en términos sencillos lo que ha significado Alphafold2, del que ya hemos hablado recientemente aquí, podéis verlo a partir del minuto 40 en https://www.rtve.es/play/videos/orbita-laika/made-in-spain/6234612

Hasta pronto,

Bruno