git reflog
git
Uso
git reflog [show] [<ref>]Recuerda todas las posiciones que han tenido HEAD y tus ramas, y ahí aparecen los commits perdidos por reset --hard o una rama borrada; las entradas caducan a los 90 días y solo existen en tu máquina.
Opciones habituales
| Opción | Significado |
|---|---|
| show <ref> | the positions of one branch instead of HEAD |
| --date=iso | real timestamps instead of relative ones |
| -n <n> | only the last n entries |
| HEAD@{n} | the commit HEAD pointed at n moves ago |
| expire --expire=now --all | wipe the log, which also gives up the safety net |
Ejemplos
git reflogevery position HEAD has had, newest first
git reflog --date=iso -n 20the last twenty moves with real dates
git reset --hard HEAD@{1}undoes the reset you just regretted
Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.
Cómo leerlo
- Los corchetes [ ] marcan una parte que puedes omitir.
- Los puntos suspensivos … indican que puedes poner varios.
- Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.
Preguntas
Q. ¿Qué hace git reflog?
Recuerda todas las posiciones que han tenido HEAD y tus ramas, y ahí aparecen los commits perdidos por reset --hard o una rama borrada; las entradas caducan a los 90 días y solo existen en tu máquina.
Q. ¿Cómo se escribe?
git reflog [show] [<ref>] — los corchetes marcan lo que puedes omitir.
Q. ¿Cuántas opciones vale la pena saber?
Aquí van 5; la lista completa está en man git. Este comando está en git.
Comandos relacionados
página man: man git-reflog