Module 2Les branches
Chapitre 4 sur 8
Branches, fusions et conflits
Créer des branches, les fusionner, résoudre les conflits et comprendre le rebase.
- ≈ 140 min
- 6 leçons
- 7 vidéos
- 2 exercices
Module 2Les branches
Chapitre 4 sur 8
Créer des branches, les fusionner, résoudre les conflits et comprendre le rebase.
Objectifs
Avec ce chapitre, tu sauras…
git merge ;git rebase et quand l'utiliser ;Sans branche, chaque essai se fait directement sur la version principale : si l'essai rate, tout le projet est cassé. Avec une branche, tu travailles dans un univers parallèle, et tu ne ramènes ton travail sur la branche principale que lorsqu'il est prêt.
Leçon 1
main A───B───────────E (fusion)
\ /
formulaire C───────DVidéo · À regarder
FRLES BASES DE GIT (tuto débutant)
Graven - Développement · YouTube
Comment fonctionnent les branches : l'explication visuelle, en français.
Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
Leçon 2
Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
Leçon 3
| Type | Quand ? | Résultat |
|---|---|---|
| avance rapide (fast-forward) | main n'a pas bougé depuis la création de la branche | main avance simplement, pas de nouveau commit |
| fusion à trois points | les deux branches ont des commits | Git crée un commit de fusion |
Vidéo · À regarder
Leçon 4
git status liste les fichiers en conflit (both modified).<<<<<<< et ======= : ta version (HEAD) ; entre ======= et >>>>>>> : la version fusionnée.git add fichier pour marquer le conflit comme résolu.Leçon 5
Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
Leçon 6
Vidéo · À regarder
FRLES BASES DE GIT (tuto débutant)
Graven - Développement · YouTube
1Pour créer une branche et y aller :
2Pour fusionner menu dans main, on se place…
3Un conflit apparaît quand…
4Après avoir corrigé un fichier en conflit, on tape…
5Il ne faut jamais rebaser…
6Pour annuler une fusion en cours de conflit :
L'essentiel du chapitre
main reste toujours fonctionnelle.git branch, git switch nom, git switch -c nom, git branch -d nom.git merge autre-branche.<<<<<<< ======= >>>>>>>, choisir, supprimer les marqueurs, git add, git commit.git rebase main : historique linéaire, jamais sur une branche partagée. Une branche par fonctionnalité.Git & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
git commit pour finaliser la fusion (ou git merge --abort pour tout annuler).Vidéo · À regarder
ENGit & GitHub Crash Course for Beginners [2026]
logicBase Labs · YouTube
Les branches expliquées (anglais).
git branch # lister les branches (* = branche actuelle)
git branch formulaire # créer une branche
git switch formulaire # aller sur la branche
git switch -c menu-mobile # créer ET aller sur la branche
git branch -d formulaire # supprimer une branche fusionnée
git branch -D essai-rate # forcer la suppressiongit switch est la commande moderne (2019) pour changer de branche. Tu verras partout l'ancienne git checkout nom et git checkout -b nom : elles font la même chose. checkout sert aussi à d'autres usages, d'où la création de switch et restore, plus claires.
Si tu as des modifications non commitées qui entrent en conflit avec la branche cible, Git refuse de changer de branche. Commite ton travail ou range-le avec git stash avant le git switch.
git checkout pour changer de branche (anglais).
git switch main # se placer sur la branche qui RECOIT
git merge formulaire # y fusionner la branche formulaire
git branch -d formulaire # supprimer la branche devenue inutileTableau: Les deux types de fusion
On se place sur la branche qui reçoit (souvent main), puis on fusionne l'autre branche dedans. git merge formulaire signifie « fais entrer formulaire dans la branche où je suis ».
Un conflit apparaît quand les deux branches ont modifié les mêmes lignes d'un même fichier : Git ne sait pas quelle version garder et te demande de choisir.
<h1>
<<<<<<< HEAD
Bienvenue sur mon portfolio
=======
Anas El Amrani — Développeur web
>>>>>>> titre
</h1>Résoudre un conflit
git rebase main rejoue les commits de ta branche par-dessus la dernière version de main, comme si tu avais commencé ta branche aujourd'hui. L'historique devient linéaire, sans commit de fusion.
git switch formulaire
git rebase mainNe rebase jamais une branche déjà partagée (poussée et utilisée par d'autres). Le rebase réécrit les commits : tes collègues se retrouveraient avec un historique incompatible. Sur tes branches locales, il est très pratique.
git rebase pour nettoyer l'historique (anglais).
main contient toujours une version qui fonctionne ;feature/formulaire-contact, fix/menu-mobile ;main quand c'est prêt et testé, puis on supprime la branche.Créer une branche de développement, puis une branche par fonctionnalité : l'organisation utilisée en entreprise, expliquée en français.
Sur main, modifie le <h1> de index.html et commite. Crée la branche titre à partir du commit précédent (git switch -c titre HEAD~1), modifie le même <h1> autrement et commite. Reviens sur main, fusionne titre, résous le conflit en gardant un mélange des deux titres, et termine la fusion.
Dans ton dépôt d'entraînement, crée la branche feature/contact, ajoute un fichier contact.html en deux commits, reviens sur main, fusionne la branche, supprime-la, et affiche l'historique en graphique.
git merge (anglais).
Un conflit est une question que Git te pose : « vous avez modifié la même chose, laquelle je garde ? ». C'est normal en équipe. Pour en avoir moins : des branches courtes, des commits fréquents, et un git pull régulier.
La résolution d'un conflit de fusion (anglais) : quatre minutes et demie, à regarder en entier.