2011-04-20 19 views
15

Mi casa sólo sufrió un poder-corte y ahora mi repositorio git (que estaba cometiendo a cuando happended) está informando:Git - objeto dañado?

[email protected]$ git fsck 
fatal: object 192e0282d23863ec80375a77011012ef8cb80f77 is corrupted 

no puedo cometer debido a este error. Tirar y buscar todavía parece funcionar bien.

[email protected]$ git commit 
error: unable to find 192e0282d23863ec80375a77011012ef8cb80f77 
fatal: 192e0282d23863ec80375a77011012ef8cb80f77 is not a valid object 

Probé reseting ella, pero no hice nada

git reset HEAD 192e0282d23863ec80375a77011012ef8cb80f77 
git gc 

¿cómo puedo solucionar esto?

ACTUALIZACIÓN: Los archivos todavía estaban bien así que acabo de clonar una nueva instancia del repositorio y moví manualmente los archivos (Me alegro de que esta no fuera la única instancia de repositorio). Sin embargo, guardé el repositorio roto para poder probar las correcciones publicadas aquí en caso de que haya la próxima vez.

+6

+1 por tener * increíblemente * mala suerte. – Nick

+2

+1 por tener una copia de seguridad. Lo bueno con el árbol de mercenarios autovalidados es que se validan atómicamente. El problema es, bueno ... ¡que se validen atómicamente! ¡Este es un caso de 'detección de errores'! = 'Corrección de errores' y con una venganza! – sehe

Respuesta

1

En realidad lo que hizo con un nuevo clon es probablemente la forma recomendada para solucionarlo. No tiene sentido hacer algo complejo si no es necesario. Esos howtos son más para si no tienes la versión correcta en tu árbol de trabajo y no tienes otra copia limpia.

De todos modos, creo que quería restablecer su última confirmación antes de el corte de energía, retire el objeto dañado de su .git/objects, y vuelva a intentarlo. Parece que tu árbol podría estar dañado, por lo que los howtos orientados a la recuperación de blobs no ayudaron.

Cuestiones relacionadas