Forzar a mi maestro local para que sea el origen / maestro

Dejé que el maestro y el origen / maestro se quedaran atascados en las líneas laterales, y ya no estoy interesado en los cambios en esa twig.

Seguí estas instrucciones para que mi maestro local señalara el lugar correcto. Haga que la twig actual de git sea una twig maestra.

git checkout better_branch git merge --strategy=ours master # keep the content of this branch, but record a merge git checkout master git merge better_branch # fast-forward master up to the merge 

que funcionó bien, excepto el estado de git da

 C:\data\localprojects\Beko2011Azure [master]> git status # On branch master # Your branch and 'origin/master' have diverged, # and have 395 and 2 different commits each, respectively. # nothing to commit, working directory clean 

Entonces, ¿cómo puedo convencer al origen / maestro (github) para que refleje mi maestro? Cualquier cosa huérfana en el origen / maestro puede abandonarse de manera segura.

Tener el origin/master igual que el master :

 git push -f origin master:master 

Discusión sobre los parameters:

  • -f es la bandera de fuerza . Normalmente, se están aplicando algunos controles antes de que se le permita enviar a una sucursal. La bandera -f desactiva todos los controles.

  • origin es el nombre del control remoto donde presionar (puede tener varios controles remotos en un repository)

  • master:master significa: enviar mi master sucursal local al master de sucursal remota. La forma general es localbranch:remotebranch . Saber esto es especialmente útil cuando quiere eliminar una twig en el control remoto: en ese caso, inserta una twig local vacía en el control remoto, eliminándola así: git push origin :remote_branch_to_be_deleted

Se puede encontrar una descripción más elaborada de los parameters con el man git-push


Dirección opuesta: si desea descartar todos los cambios en el master y desea tener exactamente el mismo origin/master :

 git checkout master git reset --hard origin/master