En un grupo están trabajando con TestComplete, una herramienta que permite automatizar aplicaciones de escritorio (y muchas más cosas).
Estaban manteniendo las pruebas con versionado por directorios y decidimos moverlos a git.
La solución es sencilla, ya que TestComplete tiene integración con git.
Agregar en la raíz un archivo .gitignore con contenido
Estaban manteniendo las pruebas con versionado por directorios y decidimos moverlos a git.
La solución es sencilla, ya que TestComplete tiene integración con git.
Agregar en la raíz un archivo .gitignore con contenido
Log/
Luego se pueden seguir los pasos normales para subir un proyecto existente a un repo. Por ejemplo en GitHub.
¿Y que pasa si te olvidás del paso del .gitignore?
En ese caso, la subida de los logs puede tardar mucho tiempo, incluso dar timeout. En nuestro caso, contenido completo de la carpeta del proyecto con sus logs pesaba 500Mb!
En ese caso, la subida de los logs puede tardar mucho tiempo, incluso dar timeout. En nuestro caso, contenido completo de la carpeta del proyecto con sus logs pesaba 500Mb!
¿Cómo borrar completamente algo de Git?
Quitar de la versión
En este caso, para borrar todos los directorios Log
find . -name Log -printTomar de la salida todos los directorios resultantes y armar lineas como la que está a continuación, que quitan los directorios del repo local, pero lo dejan fisicamente.git rm -r --cached <directorio>/Log
git statusLuego podés validar que estén borrados en Git.Ahora si, agregá el .gitignore (como está indicado arriba).Y comitear y subir al repo.
git commit -m ‘borrar logs’ git push
Validar que en repo remoto no esten los Logs.
Quitar de toda la historia
No es común querer modificar la historia de Git. Y la forma estandard brindada por git es lenta.
Usamos una herramienta llamada BFG.
git clone --mirror https://github.com/<user>/<repo> <repo>_mirror
cp -a <repo>_mirror/ <repo>_backup/
cd <repo>_mirror java -jar ~/Downloads/bfg-1.12.14.jar --delete-folders Log
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git push
En nuestro caso, pasamos de un repositorio de más de 1Gb a uno de 380Mb.
No hay comentarios:
Publicar un comentario