Les branches sont le super-pouvoir de Git. Elles permettent de travailler sur plusieurs fonctionnalités en parallèle, d’isoler un correctif urgent, ou d’expérimenter sans risque — le tout sans toucher au code stable. Cette section couvre la création de branches, la fusion (merge et rebase), et les techniques avancées (cherry-pick, HEAD détaché).
Pourquoi les branches changent tout
Section intitulée « Pourquoi les branches changent tout »Sans branches, tout le monde travaille sur la même ligne d’historique. Un bug introduit par un collègue bloque votre travail. Avec les branches, chaque fonctionnalité ou correctif vit dans son propre fil :
main ─────●─────●─────●─────●─────● \ / \ /feature/login ●───●───● \ / \ /hotfix/urgent ●Git rend les branches quasi gratuites : créer une branche ne copie rien, c’est juste un pointeur de 41 octets vers un commit.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »| Guide | Vous saurez faire |
|---|---|
| Branches en bref | Créer, lister, switcher, supprimer des branches |
| Merge et conflits | Fusionner avec fast-forward ou 3-way merge, résoudre les conflits |
| Rebase fondamental | Réécrire l’historique pour un graphe linéaire, merge vs rebase |
| Gestion des branches | Nommage, nettoyage, branches merged/no-merged |
| Branches distantes | Tracking branches, fetch, push -u, upstream |
| Cherry-pick | Appliquer un commit spécifique sur une autre branche |
| HEAD détaché | Comprendre et sortir du mode detached HEAD |
Guides de cette section
Section intitulée « Guides de cette section » Les branches en bref Créer, lister, switcher et supprimer des branches. Comprendre HEAD et les pointeurs.
Merge et conflits Fast-forward, 3-way merge, résolution de conflits : fusionnez en confiance.
Rebase fondamental Réappliquez vos commits sur une base mise à jour. Merge vs rebase : quand utiliser lequel.
Gestion des branches Conventions de nommage, nettoyage, branches --merged et --no-merged.
Branches distantes Tracking branches, git fetch, push -u, upstream : la liaison local/remote.
Cherry-pick Appliquez un commit précis sur une autre branche — backport, correctifs ciblés.
HEAD détaché Qu'est-ce que le mode detached HEAD, quand ça arrive, comment s'en sortir.
À retenir
Section intitulée « À retenir »- Une branche Git est un pointeur mobile vers un commit — elle ne coûte presque rien à créer
git switch(Git 2.23+) remplacegit checkoutpour changer de branche- Merge crée un commit de fusion, rebase réécrit l’historique — chacun a ses cas d’usage
- Ne jamais rebaser de l’historique déjà pushé sur une branche partagée
- Cherry-pick permet d’appliquer un commit isolé sans fusionner toute une branche
Prochaines étapes
Section intitulée « Prochaines étapes » Collaboration et remotes Passez au travail en équipe : push, pull, workflows et pull requests.
Les bases de Git Revenez aux fondamentaux si add, commit et log ne sont pas solides.