¿Cómo sincronizo el repository remoto después de mover los cambios locales en el maestro a una twig?

Seguí las instrucciones dadas en esta pregunta de SO para mover el cambio confirmado recientemente a una twig en su lugar.

En resumen, hice lo siguiente en mi repository local,

git branch newbranch git reset --hard HEAD~3 # Go back three commits git checkout newbranch 

Mi repository remoto (al que solo accedo) sin embargo todavía tiene los commits en master.

Por el momento, no puedo enviar los cambios a control remoto porque al repository local le faltan algunas confirmaciones y me pide que me una en los cambios mediante un jalón.

¿Cómo puedo hacer que el repository remoto refleje la nueva sucursal?

Puedes usar el indicador -f para forzar el envío al repository remoto.

 git push -f 

-f, –force

Por lo general, el command se niega a actualizar una reference remota que no sea un antecesor de la reference local utilizada para sobrescribirla. Esta bandera desactiva el cheque. Esto puede causar que el repository remoto pierda commits; Úselo con cuidado.

Más en: git-push (1) Página manual

Si el repository remoto al que presiona se ha inicializado correctamente con

 git init --bare --shanetworking 

entonces

 git push -f 

seguirá fallando porque el file de configuration de git contendrá

 [receive] denyNonFastforwards = true 

La confirmación que intentas realizar es una confirmación de avance no rápido, por lo que tendrás que cambiar el comportamiento (al less temporalmente) para permitir confirmaciones de avance no rápido. Por lo general, elimino el comentario de la línea anterior, pero puede hacerlo con la interfaz oficial de configuration de git.