La copy local de Git parece haber perdido toda la historia

Disculpas si mi terminología es incorrecta, no tengo tanta experiencia con Git. Tengo un repository local de un repository de Github y después de un corte de energía, ahora está mostrando

HEAD as 0000000000000000000000000000000000000000 

y cada file como marcado para agregar. TortoiseGit está mostrando FETCH_HEAD como mi única sucursal local a pesar de que tengo varias twigs además de maestra. La twig remota parece recordar lo que está sucediendo: tiene la URL remota para el origen y una selección de twigs recientes.

Estoy realmente nervioso de intentar cualquier cosa en caso de que arruine todo ya que tengo cambios locales (no empujados). ¿Hay un término específico para este problema que pueda search?

Estoy usando tortuga-git en Windows. Tengo la command-line de git instalada, pero realmente no sé nada más allá de lo básico.

enter image description here

Debo añadir, mis cambios no solicitados son mínimos, literalmente 2 files, ya que acababa de hacer un esfuerzo antes de la interrupción. Por lo tanto, volver a sincronizar con el repository remoto está bien si es más fácil que tratar de recuperar confirmaciones locales.

Cuando ejecuto git fsck obtengo:

error: HEAD error no válido: no se puede descomprimir 071bf20e651e1ac9ea91821ee947786138f79156 error de encabezado: inflateEnd: error de coinheritance de flujo (sin post) fatal: object suelto 071bf20e651e1ac9ea91821ee947786138f79156 (almacenado en .git / obj ects / 07 / 1bf20e651e1ac9ea91821ee947786138f79156) está dañado

Cuando ejecuto git reflog obtengo:

fatal: mala revisión pnetworkingeterminada 'HEAD'

Cuando ejecuto git reset --hard falla:

fatal: Error al resolver 'HEAD' como una reference válida.

Es muy probable que las confirmaciones no utilizadas todavía estén allí, es solo que las references de las ramificaciones se han perdido.

Lo mejor que puede hacer para recuperarlos es lo siguiente:

  • Copie todo el directory, nunca se sabe
  • ejecutar un git fsck
  • Mire en el reflog para su último compromiso. Es muy probable que sea el último consejo de sucursal
  • Crea una twig en él: git checkout -b laststate
  • Guarde los files no confirmados aparte del directory de trabajo.
  • Restablecer duro hasta la última sugerencia de twig SHA1 git reset --hard <sha1>
  • Vuelva a colocar sus cambios no confirmados

Así que al ver sus ediciones, su repository está realmente jodido.

HEAD es una reference no válida, ahora su última oportunidad es configurarlo en origin/master

 git reset --hard origin/master 

debería arreglar las cosas y restablecer tu HEAD.