2011-05-02 35 views
8

Soy un poco novato con git y estaba frustrado con cómo funcionaba mi repositorio ... o en este caso no funcionaba ... así que lo borré de git hub , eliminó la carpeta git en el proyecto y estaba planeando comenzar de nuevo.Reparar un repositorio git roto - cómo tener un nuevo comienzo

Ahora cuando intento y establecer un acuerdo de recompra fresca que estoy recibiendo una gran cantidad de mensajes como:

warning: You appear to be on a branch yet to be born. 
warning. Forcing checkout of HEAD 

cuando intento ejecutar la primera cometen veo:

error: invalid object 8bcb4b5fd612e3ad55fb07e4bed087c55afd0861 
fatal: git-write-tree: error building trees 

Corrí git fsck y ver que me falta un montón de blobs.

¿Cómo puedo limpiar la pizarra e intentar de nuevo?

+0

pero tiene una copia de seguridad del repositorio anterior, ¿verdad? – CharlesB

+0

no ... pero no me importa este en particular ... solo quiero comenzar el repositorio a partir de ahora ... – Zac

Respuesta

6

Ok,

  1. tienen copias de seguridad
  2. git -dfx limpio.
  3. .git mv /tmp/ _git.backup
  4. git init
  5. git add.
  6. git commit -m 'repo reinicio después de la operación de rescate'

Nota del paso clean que impide que un montón de cosas previamente sin seguimiento se agreguen a la nueva operación. Un buen .gitignore recorre un largo camino para evitar efectos como ese.

Si lo desea, puede migrar manualmente algunos/todos la configuración antigua, como

vim -d _git.backup/config .git/config 

(o simplemente copiarlo)

No voy a entrar en detalles obvios sobre el impacto en el potencial clones/sucursales remotos :)

Hay formas de conciliar cosas así, pero por ahora, esto parece responder a su pregunta.

+0

pude hacer un primer compromiso ... pero luego en mi siguiente compromiso obtuve esto: de f41e77d09f58505d844256092f00e32ac5d944f3 a 9d82c78f89021f60c7e9301646e5da49d75f58d5 Generando paquete ... Hecho contando 13 objetos. El resultado tiene 10 objetos. de error: No se puede encontrar 0111a2bb274758f23582dee28521504f48220768 fatal: no se puede obtener el tipo de objeto 0111a2bb274758f23582dee28521504f48220768 de error: Paquete-objetos murieron con error extraño descomprimir EF antes de cabecera de grupo se ha leído completamente ng refs/heads/master n/a (error desencajonadora) – Zac

+0

Explique con precisión qué pasos siguió y en qué orden. El mensaje 'de a ' no parece venir de git commit. Entonces, tal vez has mantenido/copiado un anzuelo. Tal vez, has hecho algo completamente diferente ... – sehe

+0

... salteé 1 ... porque ya eliminé eveyrthing.la sintaxis git clean -dfx no funciona para mí, así que separé esas banderas ... git clean -d -f -x. Entonces me permitió comprometerme la primera vez. Luego hice algunos cambios en un archivo y traté de confirmarlo, y es cuando recibo el error. Hay una línea antes del que está actualizando 'refs/heads/master'. No entiendo por qué todavía está tratando de encontrar ese hash, ya que pensé que lo había borrado todo para empezar de nuevo. – Zac

Cuestiones relacionadas