Obtenga una lista de todas las confirmaciones de Git, incluidas las "perdidas"

Resuelto Amadan asked hace 13 años • 12 respuestas

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?

Amadan avatar Jan 25 '11 03:01 Amadan
Aceptado

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>.

kenorb avatar Dec 31 '2015 15:12 kenorb

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:

ingrese la descripción de la imagen aquí

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...

Sonhja avatar May 16 '2019 07:05 Sonhja