No se puede eliminar una burbuja de un repository de Git

Tengo un repository local que solía contener files muy grandes (escaneos y algunos files DB). En algún momento decidí eliminar el directory que contenía todo eso y reescribir el historial para erradicar el directory en cuestión.

Terminé con un repository muy ligero, pero el directory .git aún ocupa 1.3G de espacio. Solo hay un package, e identifiqué al less un blob en este package que ocupaba mucho espacio.

Intenté muchas cosas para limpiar el repository, incluidas varias convocatorias de git gc, pero nada funciona, ni siquiera git forget-blob. Git forget-blob me dice "no encontrado en la historia del repos".

En ese punto, estoy perdido. Cualquier ayuda apreciada.

¡Gracias!

EDITAR: alguna información adicional que me parece muy extraño. El package de verificación de Git me muestra 3 files muy grandes:

git verify-pack -v .git/objects/pack/pack-5cc03e9fbdbdff4ce1bbeb43c55c3e17875f2bd7.idx| sort -k 3 -n | tail -3 4983118ae60be35299b153dc5850134329f6ddf0 blob 7336960 2000979 615935480 5c810dfffa6a033631596218c43a7360cf2aff10 blob 12455669 1197771 6330554 25012927d95cf3bd15f2a8cb30da2c4f4b988e82 blob 105476096 83834099 532101381 

Sin embargo, no puedo get información sobre esos blobs. ¿Como es eso posible?

 git rev-list --objects --all | grep 250129 zsh: done git rev-list --objects --all | zsh: exit 1 grep --color 250129 

Hay una serie de cosas que deben tenerse en count:

  • ¿Alguna revisión del reflog apunta a alguna de las revisiones previas (antes de la reescritura)?
  • ¿Cualquier object oculto apunta a alguna de las revisiones anteriores?
  • ¿Alguna twig remota está apuntando a cualquiera de las revisiones anteriores?

Para convencer a git de que elimine un object, no debería haber ningún apuntador. Otra cosa a considerar es que los objects se guardan en "packages". Recuerdo que una vez tuve que "explotar" todos los files del package que tenía (es decir, get git para poner todos los objects en el FS), luego borré los files del package y luego le pedí a git que los reempaquetara.

https://git-scm.com/book/es/v2/Git-Internals-Maintenance-and-Data-Recovery

Verifique la parte sobre "Eliminar objects". Espero que sea lo suficientemente bueno.