2011-07-15 11 views
6

soy un recién llegado a Git y estaba muy feliz hasta esta noche. He estado cometiendo cambios regularmente. Mantengo dos controles remotos en unfuddle y beanstalk y un sistema de archivos local remoto.repositorio git no pudo atravesar el error padre

Nunca ha habido un error y después de trabajar un día, empujo mis cambios hasta todos los mandos a distancia creer que me llenar de mantener bastante seguro. No hubo errores ni problemas.

Esta tarde, fui a mirar por encima del registro de mi proyecto y dio este mensaje para mis dolores:

error: Could not read a2b6c2fa16e01db9e38d9509606a444e5831330a 
fatal: Failed to traverse parents of commit 
     78e81a9a7f5cafa5e2af4b95d156364b9a430ac9 

Por lo que yo puedo ver la historia es buena ya en 29 de mayo. No puedo clonar una copia de ninguno de los controles remotos. No hay otros clones en ningún lugar que pueda usar para recuperar el repositorio. Ni siquiera sé realmente cuándo se rompió. Revisé las Preguntas frecuentes, pero no tengo idea de qué está hablando el autor de la sección de recuperación de repositorios.

whenI plazo git fsck, recibo 155 líneas de dejar pasar esta colgando y eso. Claramente, me gustaría limpiar esto. Puedo vivir sin historial antes del 29 de mayo si pudiera hacerlo de allí en adelante.

Puede alguien ayudarme a entender esto?

Además, lo que podría causar esto? Lo único que puedo pensar que ha cambiado en ese período es que actualicé netbeans a v7, que se supone que tiene soporte git, pero parece que no reconoce los repositorios existentes.

Respuesta

1

objetos "cuelgan" puede no ser un problema. Simplemente podría significar que ha realizado algunas reinicializaciones, modificaciones y/o eliminaciones de las ramas que no se fusionaron por completo. "Missing", por otro lado, es más serio, creo. Eche un vistazo a este artículo en repairing a damaged repo. Eso podría ayudarte. También puede intentar actualizar git si no está actualizado. Una versión más nueva podría ser un poco más inteligente.

+0

Gracias. Sin embargo, como con la respuesta de @ Andy, señalas el mismo artículo que no pude entender. Mi circunstancia es diferente. El error fue hace varias semanas y el objeto que no puede leer no está dañado, no está allí. el camino parece detenerse. –

7

Busqué en Google este error y encontró su página, en mi caso el problema fue que me había hecho:

git clone --depth 1 https://github.com/example/nifty.git 

pero meses más tarde, olvidando que sólo había agarrado las últimas confirmaciones, cuando traté de empujar a otro control remoto se quejó. Me tomó un poco de tiempo darme cuenta de que no se trataba de un repositorio dañado, sino del hecho de que nunca me había comprometido el padre. Espero que eso ayude a alguien.

que esto esté arreglado para mi caso:

git fetch --unshallow 
+8

¿Qué hiciste para solucionarlo en este caso? – Zahymaka

+0

Lol, edité mi respuesta para mostrar la solución en mi caso. – weston

+0

He encontrado que me sale 'fatal: --unshallow en un repositorio completo no tiene sentido'. Esto podría ser un error con git, pero volver a ejecutar 'git fetch --depth = 1' antes de que' --unshallow' parezca hacer que git sea realmente inseguro. – jozxyqk

Cuestiones relacionadas