¿Desea verificar una confirmación anterior y crear una nueva twig maestra?

Como parece, la twig master de uno de mis proyectos entró en una dirección completamente equivocada. Entonces, lo que quiero hacer es:

  • Pagar un compromiso anterior
  • Desarrolla cosas en una dirección diferente usando una nueva twig
  • Llame a este nuevo master sucursal y suspenda la antigua sucursal master

¿Cómo hago esto?

He visto que podría crear una nueva twig branch1 y luego usar

 $ git branch -m master old_master $ git branch -m branch1 master 

hacer una copy de security del antiguo master y luego cambiar el nombre de la nueva twig a master , pero me pregunto si hay algún inconveniente en esto, y si hay una mejor manera de lograr mi objective (lo que sea "mejor" en este context).

¿Alguna idea o sugerencia?

PD: los cambios que quiero "revertir" ya han sido empujados, así que no puedo simplemente eliminarlos.

El enfoque que dices es realmente el bueno. Usar el restablecimiento completo solo está bien si estás abierto a perder el historial de desarrollo hasta ese punto.

Básicamente, haz lo siguiente

 git branch -m master old_master git branch -m branch1 master 

Después de que lo hayas hecho, deberás forzar empujar el maestro (porque el historial de tu sucursal local sería completamente diferente del del control remoto)

 git push -f origin master 

También tenga en count que, en caso de que haya varios desarrolladores trabajando en la twig principal, su twig maestra local podría corromperse si realizan una extracción, por lo que es mejor que vuelvan a crear twig principal en sus máquinas.

 git branch -D master git branch master --track origin/master 

Tanto el empuje forzado como (posiblemente) la recreación de la twig principal serán necesarios con un reinicio completo también.

1. Debe reiniciar con fuerza en su twig maestra a la ID de sha a la que desea retroceder

 git reset --hard <commit_id> 
  1. Al hacer el push, deberías usar la opción -f

También puedes intentar hacer un git revert en lugar de restaurar git

PD: si quieres mantener el historial, puedes labelr una twig principal con un nombre de label o incluso crear una twig llamada master_old