Git protip : dernière branche active avec “-”
Lorsqu’on déplace HEAD
ou des têtes de branches (donc lorsqu’on crée des commits, change de branche, fusionne des branches, rebase une branche, annule des commits (reset
ou commit --amend
)…), Git enregistre la position précédente de HEAD
et de la tête de branche active éventuelle. Ces positions sont enregistrées dans les reflogs.
J’aime à dire que le reflog est notre parcours réel, alors que le log est le tracé GPS « idéal ». Tu peux aussi voir ça comme le Petit Poucet qui marque son chemin avec des cailloux 🪨🪨🪨.
Grâce au reflog et à des notations particulières (ce qu’on appelle les syntaxes de révisions), on peut accéder à la position de la branche précédente en appelant @{-1}
ou sa version raccourcie -
.
Si je suis sur une branche main
et que je souhaite retourner sur la branche dev
sur laquelle j’étais juste avant, je peux faire un git switch -
. Si je relance cette commande, je retournerai sur la branche main
.
Le truc sympa c’est qu’on est pas cantonné à la commande switch
. On peut aussi utiliser cette notation pour d’autres choses comme rebase
ou merge
:
git merge -
: fusionne la branche précédente dans la branche courante ;git rebase -
: rebase la branche courante sur la branche précédente.git cherry-pick -
: réplique dans la branche courante le dernier commit (par exemple un bugfix) de la branche précédente.
Tu peux aussi regarder le programme de notre formation "Comprendre Git" ou nous poser tes questions sur notre forum discord.