Obtenga una lista de todas las confirmaciones de Git, incluidas las "perdidas"
Digamos que tengo un gráfico como este:
A---B---C---D (master)
\
\-E---F (HEAD)
Si lo hago git log --all --oneline
, obtendré mis seis confirmaciones.
Pero si la gráfica es:
A---B---C---D (master, HEAD)
\
\-E---F
No veré E y F. ¿Puedo hacer que Git me diga todas las confirmaciones, incluidas aquellas en ramas que no tienen nombre?
Intentar:
git log --reflog
que enumera todas las confirmaciones de git pretendiendo que todos los objetos mencionados por reflogs( git reflog
) aparecen en la línea de comando como <commit>
.
Lo que me salvó la vida fue el siguiente comando:
git reflog
Allí encontrarás una pantalla con el historial de confirmaciones realizadas en git como esta:
En este punto, sólo tienes que encontrar la HEAD@{X}
que necesitas, crear una rama temporal y moverte hasta ella así:
git checkout -b temp_branch HEAD@{X}
De esa manera tendrás una rama temporal con tu confirmación perdida sin cambiar la base ni romper aún más tu repositorio de git.
Espero que esto ayude...