Empujar el git local confirma el historial en la rama de origen

Trabajo en proyecto solo Tuve en git log 5 commits. Combiné estos commits en uno

git rebase -i HEAD~5
pick xxxx commit1
squash xxxx commit2
squash xxxx commit3
squash xxxx commit4
squash xxxx commit5

Ahora tengo una confirmación en git log . Todo está bien. Pero tengo después del estado de git el siguiente mensaje:

Your branch and 'origin/master' have diverged,
# and have 1 and 5 different commits each, respectively.

Tengo que hacer git pull pero después volveré a escribir mi git log en 5 commits (creo).

Para abreviar, ¿cómo puedo presionar para que el git local ingrese el historial en la rama de origen y se deshaga del error divergente?

0
¿Quieres squash commits, que ya están publicados? Luego, compruebe stackoverflow.com/questions/8386996/…
agregado el autor Greg, fuente

2 Respuestas

Puede forzar su versión del historial en origen:

git push origin master --force

But please be aware that rewriting git history is frowned upon: http://git-scm.com/book/ch3-6.html#The-Perils-of-Rebasing

0
agregado

Necesita fusionar origen/maestro

git merge origin/master
0
agregado
Esto no hará lo que dices que hace, y no ayuda al OP. Esto no actualiza el origen, esto primero trae de vuelta los cinco commits al maestro local (exactamente lo que no debería suceder), y si luego presionas, eso es inútil, porque ese es el historial del cual el OP quiere deshacerse.
agregado el autor hvd, fuente
¿Se volverá a escribir mi historial reescrito en 5 commits? Quiero evitar esto.
agregado el autor fortegente, fuente
No, en realidad vas a actualizar el origen, ahora mismo has actualizado tu repositorio local después de hacer la fusión, entonces podrás hacer un empujón hacia el origen
agregado el autor moisesvega, fuente