Puede haber más de una forma de hacer esta pregunta, así que aquí tienes una descripción del problema. Estaba trabajando en master y comprometí algunas cosas y luego decidí que quería dejar ese trabajo en espera. Hice una copia de seguridad de algunas confirmaciones y luego me ramifiqué antes de comenzar mi trabajo de mierda. Prácticamente esto funciona bien, acabo de tener una rama diferente como mi rama de desarrollo principal. Me pregunto cómo podría cambiar las cosas, así que estoy trabajando en el maestro nuevamente, pero no tiene mi trabajo basura y dice que el trabajo está en una rama diferente.
Algunas formas en que esto se podría preguntar / resolver: ¿Cómo cambio el nombre de mi rama maestra a otra cosa y luego cambio el nombre de otra a maestra? ¿Cómo hago una copia de seguridad del maestro y luego hago que todas las confirmaciones de las que he hecho copias de seguridad estén en una rama diferente?
¡Gracias por todas las respuestas (rápidas)! Están todos bien.
[branch "crap_work"]
para leer[branch "master"]
para que el maestro aún se sincronizara conorigin/master
. Por supuesto, el estado de los dos repos era tal que esto todavía tenía sentido.git push -uf origin master
ygit push -u origin crap_work
.Creo que debería considerar una estrategia de desarrollo diferente para prevenir problemas como este. Uno que parece funcionar mejor para mí es nunca hacer desarrollo directamente en mi rama maestra. Independientemente de los cambios que realice, siempre creo una nueva rama para el nuevo código:
A partir de ahí, puedo enviar los cambios a los repositorios públicos:
o, finalmente, simplemente fusionarlo de nuevo con mi rama maestra:
Si realmente necesita volver a un punto anterior en el tiempo y configurarlo como su maestro, puede cambiar el nombre de la rama actual a otra cosa y luego consultar una versión anterior para que sea su maestro:
fuente
Comience
master
, cree una rama llamadain-progress
, luego restablezcamaster
a una confirmación anterior.fuente
Esto es relativamente sencillo:
fuente
git checkout -b
crea una rama y la activa.Esto establecerá su maestro en cualquier punto en un solo paso:
fuente