GIT dice que no tengo compromisos en el repository: ¿cómo recuperarme?

Usando Win7, 64 bits.

Utilizo la GUI de GitExtensions, que funcionó bien durante 3 meses. Hoy hice una confirmación, de inmediato pasé a mi repository de server y me apagué. Cuando realicé una copy de security más tarde en el día e intenté hacer otra confirmación (local), GitExtensions me dijo que NUNCA me había comprometido con ese repository y que había mostrado 119 files con cambios.

Obviamente algo se frió, así que lo primero que pensé fue en sacar provecho de mi repository de server. ¿Adivina qué? El informe del server también muestra que NUNCA me he comprometido con él.

Entonces mi siguiente pensamiento fue que GitExtensions me está mintiendo. Así que me mudé a Tortoise GIT e hice un "Ver logging". ¿Adivina qué? GitExtensions no miente. Tortoise GIT también muestra que NUNCA me he comprometido con mi repository.

Cuando navego físicamente en el repository, puedo ver todos los files de objects con marcas de time razonables que cubren los 3 meses que he estado trabajando en este proyecto.

¿Cómo puedo hacer que GIT se recupere y me doy count de que tengo 3 meses de compromisos TODAVÍA ALLÍ? Los únicos artículos que he visto son sobre cómo recuperar compromisos perdidos individuales que necesitan hacer uso de una confirmación anterior como punto de partida. Obviamente, eso no me va a ayudar, ya que no puedo ver NINGÚN compromiso.

Gracias por tu ayuda.

En primer lugar, haga una copy de security de su repository para que las correcciones que fallan no lo dañen peor.

git fsck puede ayudar a encontrar y corregir errores en el repository.

git reflog puede ayudarlo a identificar compromisos huérfanos y rebuild el historial.

Esta respuesta sobre el error de "mala revisión por defecto" puede ayudar.

Si fsck no hace nada por ti, mi primer pensamiento sería intentar reiniciar el HEAD back del repository remoto y luego intentar una nueva clonación.

Compruebe lo que obtiene para "git log master" o cualquier otra twig. Si eso funciona, puedes usar "git bundle" para exportar explícitamente commits y todos los objects relacionados. Enjuague y repita para preguntar otras twigs en .git / refs.

Probablemente sea mejor bajar a la línea de command para arreglar esto. Descargue el último msysgit.

¿La carpeta .git sigue ahí? Si es ahí donde git almacena toda su información. Si no, entonces no hay nada por lo que retroceder. Si no, tu git local ya no está. Si tu .git todavía está allí, intenta ejecutar git log y ver lo que muestra.

Si su carpeta .git se ha ido, entonces debería poder hacer un "nuevo" clon de su server para recuperar todo.