Avant que nous découvrions quelques-unes des fonctionnalités les plus avancées de Git, il est important de comprendre les différents manières de se déplacer dans l'arbre des commits qui représente notre projet.

Une fois que ces aisés, les autres commandes de git seront amplifiées !

Premièrement nous avons parlé de "HEAD". HEAD est le nom symbolique pour le commit sur lequel nous nous situons actuellement -- plus simplement c'est le commit sur lequel nous travaillons.

HEAD pointe toujours sur le commit le plus récent dans l'arbre des commits. La plupart des commandes git qui modifient l'arbre des commits vont commencer par modifier HEAD. Normalement HEAD pointe sur le nom d'une branche (comme bugFix). Quand vous effectuez un commit, le statut de bugFix est modifié et ce changement est visible par le biais de HEAD.

Avant checkout

Git avant checkout


Détacher HEAD signifie simplement que l'on attache HEAD à un commit au lieu d'une branche. Voilà à quoi cela ressemble actuellement :

HEAD -> master -> C1

Après checkout

Git apres checkout


git checkout C1

Maintenant, nous avons

master -> C1
HEAD -> C1

Pour terminer ce niveau, détacher HEAD de bugFix et attachez-le plutôt au commit.