Recuperar el compromiso de git sobreescrito perdido por empuje de fuerza

Estaba escribiendo un file README.md en el server remoto y lo completé, pero accidentalmente hice un force push al control remoto usando git push origin master y ahora el README.md se ha ido

¿Hay alguna manera de recuperar ese compromiso? He escrito un file README.md muy largo y realmente quiero ver si puedo recuperarlo 🙁

Estaba mirando el git fsck y no pude encontrar el del README.md que he confirmado desde el server remoto en github.com

En Public Activity de github, puedes ver algo como esto:

 XXX pushed to master at XX/XXX d506bb1 Update README.md. 

Y aquí d506bb1 es tu compromiso perdido.

Si existía en alguna copy de trabajo, vaya a ese repository y use git reflog para encontrar una revisión que lo contenga y git checkout para ir a esa revisión (fuera de cualquier twig). Luego puede copyr el file donde desee.

Si el server está vacío, probablemente todavía sea un object en el server, pero ningún tipo de git fetch lo copyrá a ningún otro repository porque no hay references al mismo. En ese caso, necesitarás acceder al repository simple para ejecutar tu git fsck directamente.