Git: Comment puis-je changer mon email et commits à pousser l'histoire mise à jour à une prise en pension à distance?

StackOverflow https://stackoverflow.com/questions/4718241

  •  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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top