Mueva la twig un paso hacia atrás para dejar una confirmación labelda sin sucursales

Aquí está mi situación actual, trabajando en el draft sucursal:

 * 51c716b (HEAD -> draft, tag: Printed, remote/draft) Dirty squeezing of the draft to be printed on as few pages as possible * 9219af9 Draft ready for reading * e3366b2 Making progress on the draft * 163ab8f (master, remote/master) Create a draft 

Ahora que tengo comentarios sobre esta versión Printed del borrador, deseo continuar con el proyecto. Obviamente, la última confirmación 51c716b (labelda como Printed ) no es la que quiero reanudar: quiero reanudar desde 9219af9 . Pero no quiero perder 51c716b .

¿Qué debo hacer para que la situación sea así después de mi próximo compromiso?

 * b57cc00 (HEAD -> draft, remote/draft) Integrate feedback from readers. | * 51c716b (tag: Printed) Dirty squeezing of the draft to be printed on as few pages as possible |/ * 9219af9 Draft ready for reading * e3366b2 Making progress on the draft * 163ab8f (master, remote/master) Create a draft 

(También me gustaría que la label Printed estuviera disponible en remote ).

Nota: Soy consciente de que esto causaría problemas a las personas que hayan retirado el draft mientras apuntaba a 51c716b . Pero estoy seguro de que nadie ha hecho tal cosa;)

Probablemente estés buscando Restablecer . Las twigs de Git son references que apuntan a confirmaciones, por lo que básicamente desea mover el draft reference local para que apunte a 9219af9 . Puedes hacerlo con:

git reset --hard 9219af9

O, si usara references de ascendencia :

git reset --hard HEAD~1

Después de eso, probablemente creará una nueva confirmación ( b57cc00 en su ejemplo), y tendrá que actualizar el draft reference remota (el que está en origin ) para apuntar a la nueva confirmación. Puedes hacer eso con:

git push origin draft --force-with-lease

Esto le indicará al control remoto que usted está consciente de que está "perdiendo" 51c716b . Sin embargo, Git seguirá conservando commits que tengan references que lo apunten y, como tiene una label (que también es una reference) en 51c716b , siempre podrá volver a ella. Asegúrese de insert su label si desea que otras personas (o su futuro yo) puedan acceder a ella:

git push origin Printed