git reset --hard HEAD~1
git push -f <remote> <branch>
(Exemple de poussée : git push -f origin bugfix/bug123
)
Ceci annulera le dernier commit et poussera l'historique mis à jour vers le serveur distant. Vous devez passer le paramètre -f
parce que vous remplacez l'historique en amont dans la télécommande.
Edita:
Veuillez noter que --hard
rendra votre livraison inaccessible (c'est-à-dire qu'elle semblera avoir été supprimée, mais vous pourrez toujours git show <hash>
o git log <hash>
si vous vous souvenez de son hash). Si vous souhaitez conserver vos modifications, exécutez :
git reset [--mixed] HEAD~1
À ce stade, les modifications ne sont pas mises à jour, car vous avez utilisé la fonction --mixed
qui est la valeur par défaut.
Il se peut que vous souhaitiez d'abord mettre à jour l'arbre distant (c'est-à-dire supprimer le commit) : git push -f <remote> <branch>
Puisque vous avez toujours vos modifications localement, vous pouvez créer une autre branche et commit
les (et push
à votre convenance).