Enviei um arquivo para meu git local e depois enviei-o para o github.
Executei os seguintes comandos para remover esse arquivo e enviei-o para o github:
git rm file.txt
git commit -m remove file.txt
git push -u github master
Então percebi que quero o arquivo de volta. Eu tentei as instruções descritas aqui: https://www.quora.com/How-can-I-recover-a-file-I-deleted-in-my-local-repo-from-the-remote-repo-in-Git
Executei o seguinte comando:
git rev-list -n 1 HEAD -- file.txt
o que me deu um hash para a versão que continha meu arquivo: HASH. Que usei no seguinte comando:
git checkout HASH^ file.txt
O que então me deu o seguinte erro:
error: pathspec 'file.txt' did not match any file(s) known to git
Felizmente consegui acessar o github e recuperar todos os meus arquivos de lá, mas ainda não sei como fazer isso localmente, nem mesmo se é possível.
Responder1
Use git reflog
para obter o hash de commit do ponto que continha seu arquivo. Em seguida, use git checkout <hash>
para voltar ao hash de commit.
Alternativamente, você pode usar git checkout HEAD{1}
para voltar um commit.