GitLes outils du magicien

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 reflog

Cela 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.