Git: ¿Cómo puedo cambiar mi correo electrónico en confirmaciones y empujar la historia actualizada a un acuerdo de recompra a distancia?
-
12-10-2019 - |
Pregunta
he visto desde Cambiar el autor y el nombre del confirmador y el correo electrónico de múltiples confirmaciones en Git cómo cambiar mi correo electrónico en mis confirmaciones; Sin embargo, cuando trato de empujarlo, me sale este error:
$ git push production master
To git@<remote_server>
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@<remote_server>
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
Así que traté de ejecutar la confirmación en el correo electrónico que cambia al mando en el repositorio remoto y me You need to run this command from the toplevel of the working tree.
Solución
Todo lo que necesita hacer es el uso git push --force
para sobrescribir la rama en el repositorio remoto.
Tenga en cuenta que este es un mal idea de si otras personas tienen ramificaciones a largo plazo basado el contenido actual del repositorio remoto. En ese caso, no se debe modificar la historia en absoluto.
Sin embargo, las ramas de corto plazo que se tiran y se regenera a menudo, y nunca se fusiona de nuevo en la rama aguas arriba (como linux-próximo que se regenera automáticamente todos los días y se utiliza solamente para la prueba automática), debería haber ningún problema en absoluto.