Cambiar a una determinada confirmación en la twig faltante en GIT

El código que he estado escribiendo durante 5 días desapareció después de tocar el button incorrecto. He estado trabajando en HEAD. E hizo 3 commits en 5 días. En la aplicación de escritorio BitBucket, he pulsado dos veces una twig diferente y ahora se ha ido. No puedo encontrar commits que no fueron enviados al server.

La twig no aparece, pero los commit son visibles en la historia:

Macintosh:repo admin$ git branch -a * HEAD master remotes/origin/HEAD -> origin/master remotes/origin/master Macintosh:repo admin$ git branch * HEAD master 

Aquí está el historial de commits:

 Macintosh:repo admin$ git log --oneline --all --graph --decorate $(git reflog | awk '{print $1}') warning: refname 'HEAD' is ambiguous. * 1d2bc57 THIRD * d2a0291 SECOND * 40c2d66 FIRST | * 7100271 (HEAD -> master, origin/master, origin/HEAD, HEAD) CURRENT |/ * bc35e2f OLDCOMMINT 

La aplicación de escritorio muestra la twig HEAD vacía, por eso no puedo entender lo que está sucediendo aquí. ¿Cómo cambio de "7100271" (ACTUAL) a "1d2bc57" (TERCERO)?

Gracias por adelantado.

Debería poder acceder a los datos simplemente usando git checkout en el commit sha

 git checkout 1d2bc57 

Después de esto, es posible que ya no esté en ninguna twig (un "estado principal separado"), en cuyo caso puede crear una nueva twig.

 git checkout -b newBranch 

¡Espero que esto ayude!

Use git reflog para get un historial de todas las confirmaciones que haya realizado o comprometido.

Una vez que encuentre su confirmación más reciente, use git checkout <hash> para verificar que commit.

Lo que ha sucedido aquí es que ha creado una twig (regular, ordinaria, local) llamada HEAD , cuyo nombre entra en conflicto con el nombre especial HEAD que Git usa para saber en qué twig se encuentra.

Cuando revisa una twig como master , Git escribe el nombre de la twig en el file HEAD . Si revisa la twig llamada HEAD , Git escribirá HEAD en el file HEAD . Toda esta situación es muy confusa: es como ir a una fiesta o a una class y descubrir que todos se llaman Ashot. 🙂

Lo mejor que puede hacer aquí es cambiar el nombre o eliminar la twig que se llama HEAD (renombrar o eliminar el Ashot adicional, por así decirlo). Para cambiarle el nombre desde la línea de command:

 $ git branch -m HEAD new-name 

No tengo idea de cómo hacer esto desde una GUI elegante (puede que no haya forma de solucionarlo desde allí, las GUI tienden a ser limitadas).