Esto nos sirve para poder pushear un commit antiguo a una máquina de despliegue sin perder ninguno de los commits intermedios.
Source: https://stackoverflow.com/a/56710884
git checkout 307a5cd # check out the commit that you want to reset to
git checkout -b fixy # create a branch named fixy to do the work
git merge -s ours master # merge master's history without changing any files
git checkout master # switch back to master
git merge fixy # and merge in the fixed branch
git push # done, no need to force push!
Gráficamente ocurrirá esto:
c1 -- c2 -- c3 -- c4 -- c2' -- c5 ...
\ /
'------------'