En Sourcetree, encontré que el git reflog no funcionaba, así que descubrí cómo hacerlo usando la GUI.
Primero, intente encontrar la confirmación "perdida" buscando un mensaje en el Historial de Comandos (ver: Mostrar Salida de Comando). Esperemos que esté en el comando "Switching Branch" después del commit que ha perdido y verá el comentario de commit con un ID de commit 1234567.
Lleve esa confirmación de compromiso al siguiente paso.
Pulse el botón "Sucursal" en la barra de herramientas superior y debe obtener un cuadro de diálogo "Nueva sucursal" donde puede especificar una determinada confirmación. Ponga ese ID de compromiso allí, especifique un nuevo nombre de rama, pulse Crear rama y ¡debería obtener una nueva rama con su confirmación perdida!
¡Esto me devolvió algo de trabajo perdido!
Cuando dices "Revisé la confirmación anterior en la rama A", ¿te refieres a "reiniciar la rama A a la confirmación anterior"? es decir, ¿de hecho 'git reset' en lugar de' git checkout'? –
No, utilicé el pago y envío. Reflog funcionó. – Mausimo
Si utilizó el proceso de pago, habrá estado en un 'HEAD' separado y la rama A se habría quedado en la confirmación anterior. Exactamente, ¿qué comandos ejecutó? –