Tenía un repositorio que tenía algunos errores de confirmación (D, E y F para este ejemplo).
ABCDEF maestro y origen / maestro
He modificado el repositorio local específicamente con a git reset --hard
. Tomé una rama antes del reinicio, así que ahora tengo un repositorio que se ve así:
A-B-C master
\ D-E-F old_master
A-B-C-D-E-F origin/master
Ahora necesitaba algunas partes de esos commits malos, así que escogí los bits que necesitaba e hice algunos commits nuevos, así que ahora tengo lo siguiente localmente:
A-B-C-G-H master
\ D-E-F old_master
Ahora quiero llevar este estado de cosas al repositorio remoto. Sin embargo, cuando trato de hacer un git push
Git cortésmente me quita el cepillo:
$ git push origin +master:master --force
Total 0 (delta 0), reused 0 (delta 0)
error: denying non-fast forward refs/heads/master (you should pull first)
To git@git.example.com:myrepo.git
! [remote rejected] master -> master (non-fast forward)
error: failed to push some refs to 'git@git.example.com:myrepo.git'
¿Cómo consigo que el repositorio remoto tome el estado actual del repositorio local?
git push -force
más cuidado .