J'avais un dépôt qui avait de mauvais commits (D, E et F pour cet exemple).
Master ABCDEF et origine / master
J'ai modifié le référentiel local spécifiquement avec a git reset --hard
. J'ai pris une branche avant la réinitialisation alors maintenant j'ai un dépôt qui ressemble à:
A-B-C master
\ D-E-F old_master
A-B-C-D-E-F origin/master
Maintenant, j'avais besoin de certaines parties de ces mauvais commits, alors j'ai choisi les bits dont j'avais besoin et j'ai fait de nouveaux commits alors maintenant, j'ai les éléments suivants localement:
A-B-C-G-H master
\ D-E-F old_master
Maintenant, je veux pousser cet état de choses au référentiel distant. Cependant, lorsque j'essaie de faire un git push
Git, je me donne poliment le coup de pinceau:
$ 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'
Comment obtenir le référentiel distant pour prendre l'état actuel du référentiel local?
git push -force
plus attentivement .