Disons que vous souhaitez remonter beaucoup de niveaux dans l'arbre des commits. Cela peut être ennuyeux d'utiliser ^ plusieurs fois, ainsi Git a aussi l'opérateur tilde (~).
Commande Description
^ Revenir d'un commit en arrière
~n Revenir de plusieurs en arrière avec


L'opérateur tilde prend optionnellement à sa suite un nombre qui spécifie le nombre de parents que vous souhaitez remonter. Voyons cela en action.

Avant checkout

Git avant checkout HEAD


Spécifions le nombre de commits en arrière avec ~.

git checkout HEAD~4

Après checkout

Git apres checkout HEAD


Boum ! Tellement rapide ! Les références relatives sont géniales.

Vous êtes maintenant un expert des références relatives, alors servons-nous en. Vous pouvez directement réassigner les branches à un commit avec l'option '-f':

git branch -f master HEAD~3

bouge (de force) la branche master à trois parents derrière HEAD.

Avant branch --force

Git avant force branch


git branch -f master HEAD~3

Après branch --force

Git apres force branch


On y est ! Les références relatives nous donnent une méthode concise pour référencer C1 et le forçage de branche (-f) nous donne une méthode rapide pour bouger une branche à cet emplacement.

Maintenant que vous avez vu les références relatives et le forçage de branche, utilisons-les pour résoudre le challenge.