error de git: "file de índice es demasiado pequeño"

Tuve que volver a instalar el sistema operativo (Windows 7 x64), todo lo relacionado con el proyecto estaba en otra partición, así que mis proyectos permanecieron. Entre las aplicaciones que necesitaba instalar también estaba git pero después de que intenté ver cuál era el estado del proyecto ( git status ) ocurrieron las siguientes excepciones:

error: file de índice .git / objects / pack / pack-d3325f684a4eca22c0c168d7c63119da147865e 4.idx es demasiado pequeño

error: file de índice .git / objects / pack / pack-d3325f684a4eca22c0c168d7c63119da147865e 4.idx es demasiado pequeño

error: file de índice .git / objects / pack / pack-d3325f684a4eca22c0c168d7c63119da147865e 4.idx es demasiado pequeño

error: file de índice .git / objects / pack / pack-d3325f684a4eca22c0c168d7c63119da147865e 4.idx es demasiado pequeño

advertencia: packfile .git / objects / pack / pack-dc512716779f21b39f70fea9afcb5baa36ea872 d.pack no se puede acceder

error: file de índice .git / objects / pack / pack-d3325f684a4eca22c0c168d7c63119da147865e 4.idx es demasiado pequeño

fatal: no se puede leer el tree 30cda07e931a7c9f3b1e3383c18efa10b2523c67

Este es el primero para mí. Me preguntaba si alguien más se encontró con algo similar y cuál fue la solución.

¡Gracias!

Parece que el índice del file del package está dañado. Si está seguro de que no se ha quedado sin espacio en el disco, puede eliminar el file de índice y volver a crearlo con:

 git index-pack -v .git/objects/pack/pack-d3325f684a4eca22c0c168d7c63119da147865e4.pack 

Tenga en count que es extremadamente raro tener que hacer algo como esto, por lo que debe tratar los errores como un signo de posible corrupción del sistema de files. Es posible que desee borrar todo y restaurar desde la copy de security.

¿Has probado como

En la configuration del repository local, y establece repack.usedeltabaseoffset en false y luego repack.usedeltabaseoffset a repack.usedeltabaseoffset el repository:

 git config repack.usedeltabaseoffset false git repack -a -d 

Usando git fsck es posible que puedas recuperar tu repository.

Sin embargo, es probable que deba search otras opciones, como restaurar desde una copy de security o clonar desde algún control remoto git. Como parte del desarrollo normal de git, deberías haber estado presionando tus cambios en algún server remoto, como tu otro server git o Github. Si no lo hiciste, es posible que tengas un mal día.