Como parece, la twig master
de uno de mis proyectos entró en una dirección completamente equivocada. Entonces, lo que quiero hacer es:
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>
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