Cómo volver a la última confirmación en la historia después de utilizar git reset para ir a un conjunto de cambios anterior?

StackOverflow https://stackoverflow.com/questions/2540505

  •  23-09-2019
  •  | 
  •  

Pregunta

Supongamos que mi historia se de esa manera:

A - B - C - D (master)

Si lo hago git reset B, te tengo:

A - B (maestro)

El problema es que ahora git log mostrar sólo la historia de A a B, y no puedo ver C y D más.

¿Cómo puedo volver a D?

¿Fue útil?

Solución

Debería ser capaz de ver con D git reflog .

Vea este artículo por ejemplo .

  

Las únicas se eliminan realmente confirmaciones de tiempo es si git gc --prune (así que ten cuidado con eso!).

     

Si ejecuta reflog git en este momento en un repositorio que ha estado trabajando en, verá una gran cantidad de cambios que se verá algo como esto:

c5c3a82... HEAD@{0}: pull origin featureB: Merge made by recursive.
49d0608... HEAD@{1}: reset --hard HEAD^: updating HEAD
3ed01b1... HEAD@{2}: pull origin featureA: Merge made by recursive.
49d0608... HEAD@{3}: pull origin bugfixJ: Merge made by recursive.
854d44e... HEAD@{4}: commit: Add more cowbell to foo.c
6dbc22d... HEAD@{5}: pull origin bugfixI: Merge made by recursive.
9bdb763... HEAD@{6}: commit: Remove weevils
8518f9d... HEAD@{7}: checkout: moving from wickedfeature to master
  

Estas líneas se puede dividir en 4 partes:

     
      
  • comprometerse hachís,
  •   
  • comprometerse puntero,
  •   
  • acción,
  •   
  • e información adicional.
  •   
     

Si quisiéramos volver a la confirmación de que se perdió en el HEAD@{1}, podríamos git reset --hard HEAD@{2}.
  Ahora nuestra rama actual (y la copia de trabajo) se establecen en el estado del repositorio antes que nosotros el restablecimiento.

     

Si quisiéramos simplemente ver lo que había estado, podríamos git checkout -b temp HEAD@{2} (o git checkout HEAD@{2} si tiene Git 1.5.0 en adelante).

Otros consejos

Ok, lo encontró.

Puede utilizar git reflog.

Yo no sabía qué era, pero ahora se puede ver que es un registro de todas las referencias han sido CABEZA señalando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top