ID de compromiso específico de Checkout / Rollback GIT (Posiblemente duplicado)

Tengo tres confirmaciones, pero quiero pagar el último compromiso y comenzar a trabajar desde allí. Pero también mantener los otros commits también, es decir, cuando vuelva a comprometerme será un nuevo compromiso y no estropeará mis otros commits 🙂

También es posiblemente una pregunta duplicada, pero dado que es un escenario crucial, hice mi propia pregunta.

Si hay alguna solución GUI, prefiera esa solución porque soy nuevo en GIT 🙂

La mejor respuesta que alguien me dio es la siguiente: git checkout -b old-state 0d1d7fc32 pero no puedo hacer esto: S

Además, si revertiré dos veces para pagar el tercer commit, ¿eliminará los primeros dos commits revertidos?

Problema

No sé qué herramienta de GUI está usando. Yo siempre uso CLI. Pero la teoría es la misma.

  1. crea una nueva twig "branchA" que se refiere a la nueva confirmación 98ea8a1d

  2. reiniciar la twig actual "feature / RPG ……" para confirmar f6f69dc1

Entonces, las dos últimas confirmaciones están protegidas por branchA. Y la twig actual se retrotrae a f6f69dc1. Y puedes hacer cosas desde f6f69dc1.

Si lo entiendo correctamente, debe verificar la confirmación pasada a una sucursal usando git checkout <commit_hash> <new branch> . Realice los cambios en una new branch y luego puede fusionar de nuevo.

Pero aún así habría significado lo mismo que hacer los nuevos cambios directamente en la parte superior de los tres compromisos, entonces, ¿por qué quieres hacer eso?

Para su segunda pregunta, git revert deshace sus commits, pero siempre estarán en su historial para que pueda usarlos más tarde.