Compré un archivo en mi git local y luego lo envié a github.
Realicé los siguientes comandos para eliminar ese archivo y luego lo envié a github:
git rm file.txt
git commit -m remove file.txt
git push -u github master
Entonces me di cuenta de que quiero recuperar el archivo. Probé las instrucciones descritas aquí: https://www.quora.com/Cómo-puedo-recuperar-un-archivo-que-eliminé-en-mi-repo-local-desde-el-repo-remoto-en-Git
Ejecuté el siguiente comando:
git rev-list -n 1 HEAD -- file.txt
lo que me dio un hash para la versión que tenía mi archivo: HASH. Que luego usé en el siguiente comando:
git checkout HASH^ file.txt
Lo que luego me dio el siguiente error:
error: pathspec 'file.txt' did not match any file(s) known to git
Afortunadamente, pude ir a github y recuperar todos mis archivos desde allí, pero todavía no sé cómo hacerlo localmente, o incluso si es posible.
Respuesta1
Úselo git reflog
para obtener el hash de confirmación para el punto que tenía su archivo. Luego utilícelo git checkout <hash>
para volver a ese hash de confirmación.
Alternativamente, puede utilizar git checkout HEAD{1}
para retroceder una confirmación.