Se déplacer vers un commit antérieur spécifique (mode HEAD détaché) :
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.
Normalement HEAD pointe sur le nom d’une branche.
Détacher HEAD signifie simplement que l’on attache HEAD à un commit au lieu d’une branche.
git checkout SHA1
ex :
$ git checkout 159f756 Note : extraction de '159f756'. Vous êtes dans l'état « HEAD détachée ». Vous pouvez visiter, faire des modifications expérimentales et les valider. Il vous suffit de faire une autre extraction pour abandonner les commits que vous faites dans cet état sans impacter les autres branches Si vous voulez créer une nouvelle branche pour conserver les commits que vous créez, il vous suffit d'utiliser « checkout -b » (maintenant ou plus tard) comme ceci : git checkout -bHEAD est maintenant sur 159f756... Add longueur.sh
Se déplacer vers le dernier commit d’une branche spécifique :
git checkout branchname
git checkout tagname
ex :
$ git checkout testing1
Basculement sur la branche 'testing1'
Créer une nouvelle branche à partir de la branche courante et se déplacer dessus :
git checkout -b branchname
Equivaut à :
$ git branch branchname
$ git checkout branchname
Créer une branche locale à partir d’une autre branche locale/distante :
git checkout -b copy-branchname src-branchname
ex :
$ git checkout -b testing-copy testing
Basculement sur la nouvelle branche 'testing-copy'
Créer une branche locale à partir d’une branche distante :
git checkout -b branchname remotename/branchname
Pour en plus la tracker :
git checkout -t -b branchname remotename/branchname
Se déplacer vers un tag spécifique :
git checkout tagname
ex :
$ git checkout v1.1 Note : extraction de 'v1.1'. Vous êtes dans l'état « HEAD détachée ». Vous pouvez visiter, faire des modifications expérimentales et les valider. Il vous suffit de faire une autre extraction pour abandonner les commits que vous faites dans cet état sans impacter les autres branches Si vous voulez créer une nouvelle branche pour conserver les commits que vous créez, il vous suffit d'utiliser « checkout -b » (maintenant ou plus tard) comme ceci : git checkout -bHEAD est maintenant sur 159f756... Add longueur.sh
Spécifier un déplacement relatif :
git checkout branchname~n
Remonte de n commit en arrière d’une branche.
ex :
$ git checkout master~1
$ git checkout master~2
git checkout tagname~n
Remonte de n commit en arrière d’un tag.
ex :
$ git checkout v1.1~1
$ git checkout v1.1~2
git checkout HEAD@{n}
Ci-dessous on se déplace à une position de HEAD spécifique obtenue à partir de git reflog :
$ git checkout HEAD@{24} Note : extraction de 'HEAD@{24}'. Vous êtes dans l'état « HEAD détachée ». Vous pouvez visiter, faire des modifications expérimentales et les valider. Il vous suffit de faire une autre extraction pour abandonner les commits que vous faites dans cet état sans impacter les autres branches Si vous voulez créer une nouvelle branche pour conserver les commits que vous créez, il vous suffit d'utiliser « checkout -b » (maintenant ou plus tard) comme ceci : git checkout -bHEAD est maintenant sur 5cb7f07... Add file4.txt
Annuler les modifications faites à un fichier et qui n’ont pas encore été indexées :
git checkout -- filename
ex :
$ git checkout -- longueur.sh
$ git checkout -- .
Détacher HEAD de la branche courante :
git checkout --detach
Equivaut à faire un git checkout sur le dernier commit.