Mémo Git · Branches

Créer une branche

git switch -c <branche>

Une branche est une ligne de développement indépendante. git switch -c <nom> crée une branche à partir du commit courant et bascule dessus : tes commits suivants n'affecteront pas main.

Ce que ça fait

Crée une nouvelle ligne de développement à partir d'un commit, sans toucher aux autres branches.

Un cas d'usage

Tu démarres une fonctionnalité et tu veux l'isoler de main jusqu'à ce qu'elle soit prête.

Attention : Une branche ne peut pas en « contenir » une autre : toto/a5 est refusée tant que toto existe, et inversement. Choisis par exemple toto-a5.

En ligne de commande

git switch -c <branche>
Crée la branche et bascule dessus.
git checkout -b <branche>
Ancienne syntaxe, équivalente.
git branch <branche>
Crée la branche sans basculer dessus.
git switch -c <branche> <commit>
Fait partir la branche d'un autre commit, d'une autre branche ou d'un tag.
git push -u origin <branche>
Publie la branche et la lie à sa version distante.

Dans Merathon

  1. Bouton « Branche » de la barre d'outils : la branche part du commit courant.
  2. Pour partir d'ailleurs : clic droit sur un commit du graphe → « Créer une branche ici… », ou clic droit sur une branche → « Créer une branche depuis… ».
  3. La case « Basculer sur la nouvelle branche » la rend courante aussitôt.

Questions fréquentes

Comment nommer une branche ?

Un préfixe qui donne le type de travail, puis quelques mots : feature/export-pdf, fix/menu-mobile. Pas d'espace ni d'accent.

Mes modifications non commitées suivent-elles la nouvelle branche ?

Oui : créer une branche ne touche pas à la copie de travail. Elles seront commitées sur la nouvelle branche.

Pourquoi le nom `toto/a5` est-il refusé ?

Git range les branches comme des fichiers : toto ne peut pas être à la fois un fichier et un dossier. Tant que la branche toto existe, choisis par exemple toto-a5. L'inverse est vrai aussi.

Voir aussi