The repository exists, but all my commits have disappeared.
O que exatamente você quer dizer?
A árvore de trabalho ainda está lá?
O .git/
existe?
Há algum arquivo nele?
As mensagens que você postou sugerem que o arquivo .git/HEAD
não existe.
Define o estado esperado da árvore de trabalho (o que você fez check out).
Se esse arquivo sumiu, o git não sabe onde você estava.
Você pode tentar criar o arquivo sozinho com este conteúdo:
ref: refs/heads/master
Se você estivesse em uma ramificação diferente, basta substituir "master" pelo nome da ramificação. Se você não estivesse em um ramo, seria mais complicado.
.git/logs/HEAD
registra estados passados de HEAD, com linhas posteriores na parte inferior.
Esta linha de exemplo mostra um checkout:
25f2a6099fb5f9f2192a510c42f704f9fc4bcecb 65abb1a3dc102e2498860f01fb179cda4c51decb Rainer Blome <[email protected]> 1346938344 +0200 checkout: moving from master to MySuperBranch
Os SHA1 na frente referem-se a commits.
Você deveria ser capaz de encontrá-los no log de ramificação,
por exemplo, .git/logs/refs/heads/master
.
A saída do reflito do git que você deu parece com refs/heads/master
também está ausente.
Seu conteúdo exclusivo deve ser o SHA1 do último commit nele (e uma nova linha).
Você pode encontrar o último SHA1 no final do log de ramificação,
por exemplo, .git/logs/refs/heads/master
.