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 commit différent. L'utilisation la plus courante consiste à annuler des commits récents que vous n'avez pas encore partagés.
git reset --hard HEAD~1Cela déplace main d'un commit en arrière et écrase le répertoire de travail pour qu'il corresponde. Le commit que vous avez sauté n'est plus accessible depuis votre branche (Git le conserve pendant un certain temps au cas où vous changeriez d'avis, mais attendez-vous à ce qu'il disparaisse).
Il existe trois variantes de reset :
--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.
Défi
MoyenLe dossier contient doc.md. Initialisez le dépôt et créez trois commits dans l'ordre :
- Ajoutez
doc.mdavec le messageAdd doc. - Ajoutez
secondàdoc.md, commitez avec le messageSecond draft. - Ajoutez
thirdàdoc.md, commitez avec le messageThird draft.
Effectuez un hard-reset de la branche vers le tout premier commit en utilisant HEAD~2. Affichez le contenu de doc.md.
Aide-mémoire
git reset déplace le pointeur de la branche actuelle vers un commit différent. Trois variantes :
--soft: déplace le pointeur ; conserve les modifications indexées (staged)--mixed(par défaut) : déplace le pointeur ; désindexe mais conserve les fichiers de travail--hard: déplace le pointeur ; abandonne les modifications des fichiers de travail
git reset --hard HEAD~1 # annuler le dernier commit, abandonner les modifications
git reset --hard HEAD~2 # annuler les 2 derniers commitsAvertissement : N'utilisez jamais --hard sur des commits que d'autres ont déjà récupérés (pull).
Essayez vous-même
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
4Inspecter les modifications
Git DiffComparer les modifications indexéesGit ShowRécapitulatif - Travail d'enquête2Premiers pas
Initialiser un dépôtLe dossier .gitConfigurer votre identitéGit StatusRécapitulatif - Premier dépôt5Ignorer des fichiers
Pourquoi ignorer des fichiersModèles GitignoreVérifier les règles d'exclusionRécapitulatif - Dépôt propre3Suivi des modifications
La zone de transitGit AddGit CommitModifier un fichier suiviGit LogRécapitulatif - Premiers commits6Projet de site de recettes
Aperçu du projetInitialiser et ignorer9Annuler des modifications
Annuler les modifications non indexéesDésindexer un fichierAmender le dernier commitAnnuler un commit (revert)Réinitialiser une brancheRécapitulatif - Machine à remonter le temps