Brandon Thomson preguntó en un comentario a la solución Rainer Blome 's si esto acaba de arreglar la vista gitk o si los árbitros será realmente se ha ido. Una buena manera de comprobar esto es para recordar a uno de los valores hash SHA1 (o un prefijo único de la misma) de los viejos compromete y tratar
$ git ls-tree hash-value
Esto debería mostrar el contenido de los repositorios carpeta principal, ya que estaba en este compromiso. Después de
$ rm -Rf .git/refs/original
$ rm -Rf .git/logs/
como se muestra por VonC y la eliminación de los refs/original/…
líneas de .git/info/refs
y .git/packed-refs
como se muestra por Rainer Blome, una final
$ git gc --prune=now
hizo no sólo las refs, pero también la edad los objetos (commits, árboles y blobs) desaparecen. El anterior git ls-tree hash-value
lo demuestra. Otro buen comando para comprobar esto es git count-objects -v
(ejecútelo antes del filtro-brach y después de la poda y compare el tamaño).
Nota: Como no tengo permitido comentar las otras respuestas, tuve que escribir una nueva, aunque combina principalmente las respuestas dadas anteriormente.
No estoy seguro, pero ¿has intentado ejecutar 'git gc' después? Tal vez todavía estén allí como basura ... –
@Martinho: sí, soy – adk
Tendrás que eliminar todas las referencias antiguas (por ejemplo, nombres de ramas, etiquetas), y luego puedes ejecutar 'git gc --aggressive'. – vdboor