Faltan confirmaciones después de cambiar de una twig a otra

Soy nuevo en git así que por favor tengan paciencia conmigo. En mi repository local, he estado trabajando en esta twig por un time con muchos compromisos. No he presionado desde hace mucho porque soy el único que trabaja en este proyecto. Hoy finalmente decidí que podría ser el momento de fusionar la twig de desarrollo en la twig principal, así que hice un git checkout master . (Hice un git status antes y no se necesita agregar nada).

Después de cambiar a maestro, decidí volver a mi sucursal de desarrollo con un git checkout check_pburst ( check_pburst es el nombre de mi twig de desarrollo) pero ahora solo puedo ver los commits hasta el momento en que presioné. Tengo la sensación de que estoy en una sucursal de seguimiento remoto (¿tal vez?). git log muestra que muchas de mis confirmaciones no se muestran. ¿Hay alguna forma de ver los compromisos más allá del time que empujé? Desearía poder darles más información pero cerré accidentalmente Git Bash y ahora los posts que obtuve ya no se pueden ver.

¿Cómo recupero mis últimas confirmaciones?

Actualización: Después de investigar más este tema, hice una git branch y solo vi dos twigs (lo cual tiene sentido). Luego hice una git checkout tab tab y enumeré más sucursales, pero ninguna de esas twigs tenía mis últimas confirmaciones. Luego hice un git reflog que mostró mi último compromiso. Hice un git checkout 25edfe8 . Luego hice una git branch y noté que mi última confirmación estaba en la twig Detached HEAD at 25edfe8

Solutions Collecting From Web of "Faltan confirmaciones después de cambiar de una twig a otra"

A partir de nuestras discusiones, se hizo evidente que usted había estado trabajando en un estado principal independiente en lugar de en su twig de características check_pburst . La solución estándar para llevar los commits desde un estado separado a una twig real es primero crear una twig. Haz lo siguiente desde tu estado separado:

 git checkout -b check_pburst_detached 

En este punto, has creado una bifurcación Git auténtica que contiene todos los commits perdidos que hiciste. Sería prudente en este punto hacer una copy de security de su trabajo presionando esto al control remoto:

 git push origin check_pburst_detached 

Si en cualquier momento posterior comete un error o se pierde, siempre puede "restablecer" de nuevo a esta twig, que sabe que contiene todas sus confirmaciones.

Como desea conservar realmente todas las confirmaciones separadas en su twig de características, la mejor opción podría ser rebase check_pburst_detached en check_pburst y luego reenviar las últimas con la anterior:

 git checkout check_pburst_detached git rebase check_pburst 

Complete la rebase y luego la combinación de avance rápido check_pburst_detached en check_pburst :

 git checkout check_pburst git merge check_pburst_detached 

Esta combinación debe tener cero conflictos, ya que la twig check_pburst_detached debe estar delante de check_pburst . Puede verificar que su twig de característica check_pburst tenga los commits que faltaron.