Busca huérfanos en Git.

Mi repositorio de git ha desaparecido de alguna manera. Cargué msysgit esta mañana y en lugar de mostrar el nombre de la rama después del directorio actual, dice "((ref: re ...))", 'git status' informa de todo como un El nuevo archivo, 'git log' y 'git reflog' me dicen "fatal: mala revisión predeterminada" HEAD "", y así sucesivamente.

Hacer 'git reflog - all' o 'gitk - all' me muestra que el resto del repositorio está intacto, pero parece que la rama en la que estaba trabajando acaba de desaparecer, lo que explica por qué HEAD no parece existir / apuntar a cualquier cosa

Sé que Git mantiene todo tipo de globos de información, y asumo que mis compromisos se han quedado huérfanos de alguna manera, así que, ¿hay algún comando que me muestre esos compromisos para que pueda restablecer HEAD?

EDIT: Oh cielos. Descubrí 'git fsck', y 'git fsck --full' reporta "fatal: el objeto 03ca4 ... está dañado". ¿Qué diablos puedo hacer al respecto?

EDIT: Oh cielos, oh cielos. Revisé otra rama, luego traté de recrear la rama original con el mismo nombre usando 'git checkout -b lostbranchname', y git dice "error: no se pudo resolver las referencias refs / heads / lostbranchname: No hay error, fatal: Falló para bloquear ref para actualización: No hay error ". 'No error' debe ser un error particularmente desagradable. Así que parece que todavía está dando vueltas, pero no se puede usar y no se puede matar.

EDITAR: Super duper oh cielos. He hecho un montón de desempaquetado, reempaquetado y reemplazo de cosas como se sugiere aquí:¿Cómo recuperar objetos Git dañados por fallo del disco duro?, pero ahora estoy recibiendo otro hash reportado como corrupto, por algo tan inocuo como el 'estado de git'. Pienso que toda la cosa está esparcida. Git es encantador y todo, pero no debería tener que lidiar con este tipo de cosas.

Respuestas a la pregunta(3)

Su respuesta a la pregunta