HOWTO · Git

Annuler la dernière validation dans un référentiel Git distant

Vous pouvez supprimer le dernier commit d'un référentiel Git distant.

Sur cette page

Cet article traite de la suppression du dernier commit d’un référentiel Git distant. Git facilite le retour à un commit précédent si le commit actuel ne répond pas à nos attentes.

Voyons comment nous pouvons faire cela.

Annuler la dernière validation dans un référentiel Git distant

Simulons une situation où nous devons annuler un commit dans notre référentiel distant.

Notre référentiel Delftscopetech possède un fichier README.md. Nous apporterons des modifications, les validerons et les transmettrons au référentiel distant.

repo

Nous avons poussé les modifications vers notre référentiel distant. Voici notre dépôt à distance.

référentiel distant

Dans un scénario où nous voulions annuler ce commit, comment procéderions-nous ?

Nous allons lancer la commande git log pour afficher une liste de tous les commits de notre repo. Utilisez l’option --oneline pour une sortie simplifiée.

$ git log --oneline

git log en ligne

L’étape suivante consiste à réinitialiser le HEAD pour que la référence soit à la Sixth Update. Nous allons exécuter la commande git reset et transmettre le Commit ID de notre Sixth Update, comme indiqué ci-dessous.

$ git reset --hard 27bd68b
HEAD is now at 27bd68b Sixth Update

Si nous devions exécuter la commande git log, nous constaterions que le commit Updated README.md File est manquant. Nous avons supprimé ce commit de notre référentiel local, et la seule chose qui reste est de pousser les modifications vers notre référentiel distant, comme indiqué ci-dessous.

Nous devrons exécuter une poussée forcée puisque le référentiel distant est en avance d’un commit. Nous exécutons la commande ci-dessous.

$ git push -f

git pousser -f

Notre référentiel distant a été mis à jour. Confirmons cela.

référentiel distant mis à jour

C’est à peu près tout. Assurez-vous que d’autres développeurs ne récupèrent pas depuis la télécommande avant d’annuler la mauvaise validation.