¿Cómo eliminar errores de fusión erróneos?

A través de una comedia de errores novatos me encuentro en la siguiente situación en un repository local:

texto alternativo

Utilizando el git reset he manejado las tags de bifurcación a donde quiero, y ahora me gustaría eliminar los 3 commits en lo que parece una twig sin nombre. He investigado / probado una variedad de cosas, incluyendo gc , prune sin éxito.

Me di count de que podía deshacerme del repository local y volver a clonarlo; sin embargo, me gustaría usarlo como una oportunidad de aprendizaje.

Entonces la pregunta es: ¿cómo puedo eliminar esos commits?

¿Has mirado el reflog ? Realiza un seguimiento de cada forma en que HEAD se mueve dentro de su repository (y está haciendo su trabajo al evitar la eliminación automática de sus confirmaciones).

Examínelo con git reflog o git log -g . Nuke it con git reflog expire --expire=now --all , y luego puedes juntar los commits sin usar.

La respuesta de jleedev seguramente los eliminará , pero realmente no creo que debas hacer eso.

Los commits serán limpiados automáticamente por el siguiente gc (que se ejecuta automáticamente por varios commands key) una vez que ya no estén en el reflog, que caducará en 90 días. Es decir, se irán eventualmente; Git te impide borrar todo lo que no quieras.

Si solo te molesta verlos en gitk , todo lo que tienes que hacer es volver a cargar la vista (o reiniciar gitk). Ahora que esos commits no están en una twig, no se mostrarán. Sí, todavía estarán en tu repository, pero a less que te estés quedando sin espacio en el disco, eso no te hará daño. Es solo una networking de security.