Mostrando entradas con la etiqueta git. Mostrar todas las entradas
Mostrando entradas con la etiqueta git. Mostrar todas las entradas

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


14 de enero de 2021

Introduction to Bioinformatics for plant breeders

Hi, Najla Ksouri and me recently put together teaching material about Bioinformatics resources and best-practices for plant-breeders.

The material can be found at https://eead-csic-compbio.github.io/bioinformatics

It comprises four sessions and the goal is for you to explore some bioinformatics resources and databases which can be useful in plant breeding and genomics, using both standalone and Web-based tools. The last two sessions are about reproducible analysis practices and software benchmarks.

session title required time URL



1 Annotation of coding sequences 4h session 1
2 Analysis of non-coding sequences 4h session 2
3 Reproducible analysis practices 2h session 3
4 Benchmarks 2h session 4





 

If you spot errors please send pull requests, hope this helps some of you out there,

Bruno