Les outils du magicien
reflog à la rescousse
La commande git reflog permet de vous montrer l’historique des positions de HEAD.
Lancez la commande suivante
git reflogCela vous listera toutes les actions qui ont eu lieu.
On a vu dans le chapitre précédent que l’on pouvait supprimer un commit de l’historique.
La commande reflog permet de faire revenir à la vie un commit qui a été supprimé.
Il suffit alors simplement de récupérer le hash du commit via la commande git reflog et soit faire un merge soit un cherry-pick.
git merge <hash-du-commit>Mais Jamy c’est quoi un cherry-pick?
cherry-pick
En lui donnant un ou plusieurs hash de commit, cherry-pick va permettre de rejouer ces derniers sur votre branche.
git cherry-pick <hash-du-commit>Dans l’exemple ci dessous:
Si on souhaite récupérer le commit f-2-2:
git cherry-pick <hash-du-commit-f-2-2>Exercice
À vous de jouer:
- Créer un premier commit
- Créer un deuxième commit avec un message random pas clair.
- Annuler le deuxième commit sans perdre les changements de celui ci.
- Recréer le commit avec un autre message + clair.
- Revenir au commit précédent en supprimant le dernier commit.
- Retrouver et récupérer le commit.