Git protip : dernière branche active avec “-”
Par Maxime Bréhin • Publié le 12 septembre 2022 • 2 min

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.

Animation switches multiples

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.

Des astuces en veux-tu en voilà !

On a tout plein d’articles et de vidéos existants et encore beaucoup à venir. Pour ne rien manquer, tu devrais penser à t’abonner à notre newsletter, à notre chaîne YouTube, nous suivre sur Twitter ou encore mieux, à suivre notre formation du feu de dieu 🔥 : Git Total !

Découvrez nos cours vidéo ! 🖥

Nos cours vidéo sont un complément idéal et bon marché à nos articles techniques et formations présentielles. Autour de Git, de JavaScript et d’autres sujets, retrouvez des contenus de très grande qualité à des prix abordables, spécialement conçus pour lever vos plus gros points de blocage.