Checkout Stage Reset Reflog deshacer cambios en git
Checkout
Deshacer todos los cambios hechos a archivos sin confimar aún
git checkout -- .
Deshacer los cambios realizados a un archivo en area de trabajo
git checkout -- file.txt
Stage
Bajar un archivo del stage
git reset HEAD file.txt
Reset
Cuando por ejemplo se da cuenta que el ultimo commit que realizó está incompleto ejecuta este comando para luego poder confirmar los cambios completos con git commit
git reset --soft HEAD^
// ... termina los cambio
git commit -am "descripción del commit"
Si se quiere volver atras hasta cierto commit borrando los commits posteriores a ese commit seleccionado sin borrar los cambios realizado
git reset --mixed j39e3u9
Si se quiere volver atras hasta cierto commit borrando definitivamente los cambios efectuados
git reset --hard j39e3u9
Reflog
Si por ejemplo se han realizado operaciones de reset en el repositorio y se han perdido cambios que ahora se quieren recuperar, se puede usar reflog para ver el historial de cambios que ha recibido el repo aún si con git log no se ven esos cambios, se busca el id donde están los cambios a recuperar y luego con git reset se recuperan
git reflog
git reset --hard d7906e1-id-a-recuperar