Menu
Coddy logo textTech

Réinitialiser une branche

Fait partie de la section Gestion de versions du Journey Terminal de Coddy. Leçon 44 sur 58.

git reset déplace le pointeur de la branche actuelle vers un autre commit. L’utilisation la plus courante consiste à annuler les commits récents que vous n’avez pas encore partagés.

git reset --hard HEAD~1

Cela fait reculer main d’un commit et écrase le répertoire de travail pour le mettre en correspondance. Le commit que vous avez ignoré n’est plus accessible depuis votre branche (Git le conserve quelque temps au cas où vous changeriez d’avis, mais attendez-vous à ce qu’il disparaisse).

Il existe trois types de réinitialisation :

  • --soft : déplace le pointeur de branche ; conserve les modifications indexées (staged)
  • --mixed (par défaut) : déplace le pointeur ; désindexe (unstage) mais conserve les fichiers de travail
  • --hard : déplace le pointeur ; supprime également les modifications des fichiers de travail

--hard est la forme la plus destructive. C'est idéal pour corriger des erreurs locales, mais ne l'utilisez jamais sur des commits que d'autres personnes ont déjà récupérés.

challenge icon

Défi

Moyen

Le dossier contient doc.md. Initialisez le dépôt et créez trois commits dans l’ordre :

  1. Ajoutez doc.md avec le message Add doc.
  2. Ajoutez second à la fin de doc.md, puis effectuez un commit avec le message Second draft.
  3. Ajoutez third à la fin de doc.md, puis effectuez un commit avec le message Third draft.

Réinitialisez brutalement la branche jusqu’au tout premier commit à l’aide de HEAD~2. Affichez le contenu de doc.md.

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Gestion de versions

Entraînez-vous par vous-même : Playground Terminal