Reversión de confirmaciones en GitHub

Tengo un set de confirmaciones (publicadas) 10+ que deseo eliminar. Entonces, idealmente, quería crear una request de extracción que luego podría fusionarse con la twig de desarrollo de mi proyecto.

El problema es que si estoy haciendo:

  1. git reset --hard <commit_hash>
  2. git checkout -b my_fixed_branch
  3. git push origin my_fixed_branch

La request de extracción en github no muestra nada en diff … (Como yo entiendo, sucede porque la twig de desarrollo ya contiene cambios de <commit_hash> ). Así que realmente no entiendo cómo hacer el reinicio correctamente …

Por supuesto, creo que es posible hacer algo como

  1. git reset --hard <commit_hash>
  2. git push origin develop -f

Para anular directamente los cambios en la twig de desarrollo … pero me gustaría usar Pull Request en su lugar.

Esto revierte cada commit después (sin include) <commit_hash> hasta ahora:

 git revert --no-commit <commit_hash>..HEAD git commit -m "Message explaining what was done" 

La --no-commit se asegura de que consigas una única confirmación de reversión en lugar de varias.

Puede revertir sin él para crear compromisos de revertir por separado para cada combinación. Esto podría ser más claro para otros usuarios y luego Git le da los posts de compromiso de forma gratuita.

O invierte las confirmaciones (es decir, crea nuevas confirmaciones que deshacen los cambios, usando git revert ), para que puedan fusionarse (posiblemente a través de una request de extracción ).

O los descarta , pero luego no hay nada que fusionar: necesita forzar el empuje (ejecutando exactamente los commands que proporciona en su pregunta).