Git: Comment puis-je changer mon email et commits à pousser l'histoire mise à jour à une prise en pension à distance?
-
12-10-2019 - |
Question
Je l'ai vu de Modifier la auteur et le nom de livreur et e-mail de plusieurs commits Git comment changer mon email dans mes commits; Cependant, lorsque je tente de le pousser, je reçois cette erreur:
$ 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.
Alors j'ai essayé d'exécuter la commande commit-mail évolution dans la prise en pension à distance et il me montre You need to run this command from the toplevel of the working tree.
La solution
Tout ce que vous devez faire est d'utiliser git push --force
pour écraser la branche dans le référentiel distant.
Notez que ceci est une idée si d'autres personnes mauvais ont des succursales à long terme sur la base du contenu actuel du dépôt distant. Dans ce cas, vous ne devez pas modifier l'histoire du tout.
Toutefois, les succursales à court terme qui sont jetés et régénérées souvent, et jamais réincorporé dans la branche amont (comme linux-next qui est automatiquement régénéré par jour et utilisé uniquement pour les tests automatiques), devrait poser aucun problème du tout.