Revenir en arrière

Voici une page rapide qui te montre comment revenir en arrière.

    5ttr 6ttr 6tq
  • Découverte

Quand tu fais un git checkout <hash> sur un commit, tu demandes à Git de remettre ton répertoire de travail (working directory) dans l’état exact où il se trouvait à ce moment-là. Concrètement, tous les fichiers sont restaurés comme ils étaient lors de ce commit : ceux qui n’existaient pas encore disparaissent, ceux qui ont été modifiés retrouvent leur ancienne version.

Cela permet de remonter dans le temps pour relire du code, tester une ancienne version ou comprendre un bug. Attention cependant : tu es alors en detached HEAD, c’est-à-dire que tu n’es plus sur une branche active, mais juste "posé" sur un commit précis ; si tu modifies des fichiers à ce stade, il faudra créer une nouvelle branche pour ne pas perdre ton travail. Dans un 1er temps, mieux vaut ne pas apporter de modifications à ton code à ce moment-là.

Revenir à un commit précédent

En Git, chaque commit a un identifiant unique (un long code appelé hash).

Parfois, tu veux :

  • annuler tes derniers changements,
  • revenir temporairement en arrière,
  • ou corriger une erreur.

1. Voir les commits

git log --oneline

👉 Cela affiche l’historique sous forme simplifiée :

a1b2c3d Ajout de la page contact
e4f5g6h Correction bug menu
i7j8k9l Commit initial

2. Revenir en arrière temporairement (mode lecture seule)

git checkout a1b2c3d

👉 Tu te replaces sur ce commit, mais ce n’est pas la "vraie" branche (c’est un detached HEAD).

Pratique pour tester ou regarder un ancien état.

3. Revenir en arrière définitivement (réécrire l’historique)

git reset --hard a1b2c3d

👉 Annule les commits suivants et replace la branche exactement sur ce commit. ⚠️ Attention : les commits après celui-ci seront perdus (sauf si tu les as poussés sur GitHub).


Résumé

  • git log --oneline → voir les commits.
  • git checkout <hash> → revenir temporairement en arrière.
  • git reset --hard <hash> → revenir définitivement.

Pour aller plus loin