Meu computador morreu e agora um dos meus repositórios git está quebrado. Quando tento fazer checkout master, ele me diz:
warning: ignoring broken ref refs/heads/master.
error: Your local changes to the following files would be overwritten by checkout:
com.vainolo.jdraw2d.releng.p2/pom.xml
Please, commit your changes or stash them before you can switch branches.
Aborting
Quando eu executo git stash
eu obtenho:
fatal: bad revision 'HEAD'
fatal: bad revision 'HEAD'
fatal: Needed a single revision
You do not have the initial commit yet
Então o que eu posso fazer?
Saída de atualização de git reflog
:
fatal: bad default revision 'HEAD'
Não muito promissor ... Resultado de git fsck
:
error: Invalid HEAD
Checking object directories: 100% (256/256), done.
error: unable to unpack 59551f96b4e87a1c14293c19eb548ce6fa1f196f header
error: inflateEnd: stream consistency error (no message)
fatal: loose object 59551f96b4e87a1c14293c19eb548ce6fa1f196f (stored in .git/objects/59/551f96b4e87a1c14293c19eb548ce6fa1f196f) is corrupt
.git/refs/heads/master/
é um monte de^@
git reflog
isso te diz? Você já tentou correr git fsck
?
.git/refs/heads/master
existe e se seu conteúdo é um hash de commit válido do seu repositório (você pode verificar isso, por exemplo, usandogit show <hash>
)?