Accès Rapide
Introduction
Comme le symbole ~
, le symbole ^
accepte un numéro après lui.
Au lieu d'entrer le nombre de générations à remonter (ce que ~
fait),
le symbole ^
détermine quel parent est à remonter.
Attention, un merge commit a deux parents ce qui peut porter à confusion.
Normalement Git suit le "premier" parent pour un commit/merge,
mais avec un numéro suivi de ^
le comportement par défaut est modifié.
Assez de bla bla, passons à l'action.
Nous avons un commit/merge.
Si nous faisons checkout master^ sans le symbole,
on obtient le premier parent suivant ce commit.
git checkout master^
Facile -- C'est ce que nous faisons tout le temps.
Nous allons spécifier le deuxième parent à la place.
git checkout master^2
Vous voyez ? Nous suivons le second parent.
Les symboles ^ et ~ permettent de se déplacer de façon très efficace.
Encore plus fou, ces symboles peuvent être enchainés ! Regardez cela :
git checkout HEAD~^2~2
Boum, vitesse du tonnerre !
Pour réussir le niveau, créez une nouvelle branche à la destination indiquée. Évidement ce serait plus rapide de spécifier le commit (C6 par exemple), mais faites-le plutôt avec les symboles de déplacement dont nous venons de parler !