Solución:
así es como lo hice con los comandos básicos de Git:
git checkout hotfixes
git reset --hard master
git push --force origin hotfixes
por supuesto, es importante notificar a todos los que trabajan en hotfixes
. lo más probable es que tengan que eliminar su copia local y empezar desde una nueva. una idea alternativa, menos invasiva, es crear una nueva rama:
git checkout master
git branch -tb hotfixes-2 # this creates branch `hotfixes-2` from a copy of `master`
git push origin HEAD # this creates `hotfixes-2` on the remote server
Quieres decir que quieres impulsar tu local master
al control remoto hotfixes
¿rama? Como esto:
git push origin +master:hotfixes
Sin embargo, esto requiere que se le permita volver a escribir el historial en el lado remoto.
Si entendí tu pregunta correctamente, lo que estás buscando es una forma de mover el puntero de la rama de origin/hotfixes
para señalar la revisión actual de origin/master
.
Si ese es el caso, este conjunto de comandos debería funcionar (suponiendo que ya haya verificado hotfixes
en su repositorio de git local en cualquier momento en el pasado):
# git branch -f does not allow modifying the currently checked out
# branch, so checkout any other branch than hotfixes
git checkout <SOME_OTHER_BRANCH_THAN_HOTFIXES>
# Move the branch pointer of hotfixes to the commit currently
# pointed by origin/master
git branch -f hotfixes origin/master
# Force push the history rewrite in the hotfixes branch
# into origin
git push -f origin hotfixes