Aller au contenu principal

Se connecter

Sauvegarde ta progression et retrouve-la sur tous tes appareils.

Ou par email

Pas encore de compte ?

Politique de confidentialité

Prise en main de Git — Chapitre 3 / 4

Les branches

Les branches permettent de travailler sur plusieurs choses en même temps. Sans risquer de casser ce qui fonctionne déjà. Ce chapitre t'explique comment ça marche.

Une branche, c'est quoi ?

Mot clé : branche

Une branche est un nom qui pointe vers un commit. C'est comme un post-it collé sur une page d'un livre. Le post-it dit : "je suis ici". Quand tu ajoutes un nouveau commit, le post-it se déplace sur la nouvelle page.

Beaucoup de gens croient qu'une branche est une copie du code. Ce n'est pas vrai.

Une branche est juste un pointeur. C'est un petit fichier qui contient le hash d'un commit. Créer une branche est instantané. Ça ne prend presque pas de place sur ton disque.

# Chaque branche pointe vers un commit

main → a1b2c3d (commit le plus récent de main)

feature → e4f5g6h (commit le plus récent de feature)

HEAD → main

# HEAD dit : "tu es sur la branche main"

Point important

La branche main n'est pas spéciale. C'est juste un nom. Git la crée par défaut, mais tu pourrais l'appeler autrement. Elle n'a aucun pouvoir particulier.

Pourquoi utiliser des branches ?

Imagine que tu travailles sur un site web. Le site fonctionne bien. Maintenant, tu veux ajouter une nouvelle page.

Si tu travailles directement sur main, tu risques de casser le site. Tes changements en cours ne sont peut-être pas finis.

Avec une branche, tu travailles à part. Le site reste fonctionnel sur main. Quand ta nouvelle page est prête, tu la ramènes dans main.

C'est comme avoir un brouillon. Tu écris sur le brouillon. Quand c'est prêt, tu recopies au propre.

Créer une branche

Mot clé : git branch

La commande git branch sert à gérer les branches. Sans argument, elle affiche la liste des branches. Avec un nom, elle crée une nouvelle branche.

Fiche complète sur git branch →

$ git branch

# Affiche toutes les branches

# Le * montre la branche où tu es

* main

feature/header

$ git branch feature/about

# Crée une nouvelle branche appelée feature/about

# Attention : tu restes sur la branche actuelle

Changer de branche

Mot clé : git switch

La commande git switch te permet de changer de branche. Quand tu changes de branche, Git met à jour les fichiers dans ton dossier. Les fichiers correspondent à l'état de la branche choisie.

Fiche complète sur git switch →

$ git switch feature/about

# Bascule sur la branche feature/about

# Les fichiers changent pour correspondre à cette branche

$ git switch -c feature/footer

# Crée une nouvelle branche ET bascule dessus

# C'est un raccourci pour : git branch + git switch

L'option -c signifie "create". C'est le raccourci le plus utilisé. Tu crées et tu bascules en une seule commande.

Fusionner : ramener une branche dans main

Mot clé : git merge

Fusionner (merge) signifie combiner le travail de deux branches. En général, tu fusionne ta branche de travail dans main. C'est comme recopier ton brouillon au propre.

Fiche complète sur git merge →

Pour fusionner, tu dois d'abord te placer sur la branche qui va recevoir les changements. En général, c'est main.

# Étape 1 : revenir sur main

$ git switch main

# Étape 2 : fusionner la branche

$ git merge feature/about

# Le contenu de feature/about arrive dans main

Deux façons de fusionner

Git peut fusionner de deux façons différentes. Cela dépend de ce qui s'est passé sur les branches.

Cas 1 : Fast-forward (avance rapide)

Cela arrive quand main n'a pas bougé depuis la création de la branche. Git se contente d'avancer le pointeur. Pas besoin de créer un nouveau commit.

C'est comme si tu avais lu les pages 1 à 10 d'un livre, et ton ami a lu les pages 11 à 15. Il suffit de continuer. Pas de travail supplémentaire.

# Avant le merge

A → B (main) → C → D (feature)

# Après le merge : main avance

A → B → C → D (main, feature)

Cas 2 : Merge commit (commit de fusion)

Cela arrive quand les deux branches ont des commits différents. Git crée un nouveau commit qui combine les deux. Ce commit a deux parents.

C'est comme si toi et ton ami avez chacun écrit un chapitre différent. Il faut assembler les deux chapitres pour faire le livre complet.

# Avant : les branches ont divergé

→ C → D (feature)

A → B

→ E (main)

# Après le merge : un commit M avec 2 parents

→ C → D ↘

A → B M (main)

→ E

Visualiser les branches

Il existe une commande très utile pour voir toutes les branches et les commits. Elle dessine un graphe dans le terminal.

$ git log --graph --oneline --all

* f7a8b9c (HEAD → main) Merge branch 'feature'

|\

| * d4e5f6a (feature) Add feature

|/

* a1b2c3d Initial commit

Cette commande montre :

  • Les commits (chaque ligne avec un *)
  • Les branches (les noms entre parenthèses)
  • Les liens entre commits (les lignes |, / et \)
  • Où tu te trouves (HEAD →)

Bien nommer ses branches

Le nom d'une branche doit expliquer ce que tu fais dessus. Voici les conventions les plus courantes :

feature/nom — pour ajouter une fonctionnalité

Exemple : feature/page-contact

fix/nom — pour corriger un bug

Exemple : fix/menu-mobile

chore/nom — pour la maintenance technique

Exemple : chore/update-dependencies

Erreurs fréquentes

  • Oublier de revenir sur main avant de fusionner. Tu dois toujours être sur la branche qui reçoit les changements.
  • Créer une branche depuis une autre branche au lieu de main. Vérifie toujours où tu es avec git status avant de créer une branche.
  • Travailler directement sur main. Crée toujours une branche, même pour un petit changement. C'est plus sûr.
  • Penser qu'une branche est une copie du code. C'est juste un pointeur. Créer 100 branches ne prend presque pas de place.

Ton avis compte

Aide-nous à améliorer cette formation en partageant ton retour.

Pour qu'on puisse te répondre si besoin.