Deshacer una confirmación particular en Git que se ha enviado a repositorios remotos

¿Cuál es la forma más sencilla de deshacer una confirmación particular que es:

no en la cabeza o CABEZAHa sido empujado al control remoto.

Porque si no es el último commit,

git reset HEAD

no funciona Y porque ha sido empujado a un control remoto,

git rebase -i

y

git rebase --onto

causará algún problema en los controles remotos.

Más aún, no quiero modificar la historia realmente. Si había un código incorrecto, estaba allí en la historia y se puede ver. Solo lo quiero en la copia de trabajo, y no me importa una confirmación de fusión inversa.

En otras palabras, ¿cuál es elGit equivalente de los siguientes comandos svn:

svn merge -r 303:295 http://svn.example.com/repos/calc/trunk

que elimina todos los cambios de 295 a 302 mediante la fusión inversa de todos los cambios en esas revisiones, como una nueva confirmación.

svn merge -c -302 ^/trunk

que deshace la confirmación 302, por supuesto, agregando otra confirmación que invierte combina los cambios de esa confirmación respectiva.

Pensé que debería ser una operación bastante simple en Git y un caso de uso bastante común. ¿Cuál es el objetivo de los compromisos atómicos?

Tenemos puesta en escenaescondiéndose y todo para garantizar que los commits sean perfectamente atómicos, ¿no debería ser capaz de deshacer uno o más de esos commits atómicos fácilmente?

Respuestas a la pregunta(3)

Su respuesta a la pregunta