Branches et Fusion (Merging)
Qu'est-ce qu'une branche ?
Les branches dans Git sont des copies isolées de votre code qui permettent de travailler sur des fonctionnalités ou corrections sans perturber la branche principale.
Isolation
Développez et testez sans risquer d'introduire des erreurs dans le code stable
Collaboration
Travaillez en parallèle sur différentes parties du projet
Gestion des versions
Maintenez un historique clair des évolutions
Expérimentation
Testez de nouvelles idées sans impact sur le projet principal
Création et navigation de branches
Créer une nouvelle branche
git branch [nom-branche]Crée une nouvelle branche sans basculer dessus.
Changer de branche
git checkout [nom-branche]Bascule vers la branche spécifiée. Méthode classique.
✨ Méthode moderne (recommandée) :
git switch [nom-branche]Plus explicite et intuitif que checkout
⚡Créer et basculer en une commande
git checkout -b [nom-branche]Raccourci pratique : crée une nouvelle branche ET bascule dessus immédiatement.
Pousser la branche sur GitHub
git push --set-upstream origin [nom-branche]Envoie votre branche locale vers GitHub et configure le suivi automatique. Les prochains git push seront plus simples !
💡 Raccourci : Après la première fois, utilisez simplement git push
Fusionner des branches
Workflow de fusion
Retournez sur la branche de destination (généralement main)
Fusionnez la branche de fonctionnalité
git checkout main
git merge [nom-branche]Intègre les modifications de [nom-branche] dans main.
Supprimer une branche
Nettoyage après fusion
git branch -d [nom-branche]Supprime une branche locale une fois fusionnée. L'option -d est sécurisée : elle refuse de supprimer une branche non fusionnée.
⚠️ Suppression forcée : Utilisez -D (majuscule) pour forcer la suppression même si non fusionnée. À utiliser avec précaution !
🎯Workflow typique avec les branches
git checkout -b feature/nouvelle-fonctionnaliteCréer une branche de fonctionnalité
git add . && git commit -m "..."Travailler et commiter sur la branche
git push -u origin feature/nouvelle-fonctionnalitePousser vers GitHub
git checkout main && git merge feature/nouvelle-fonctionnaliteFusionner dans main
git branch -d feature/nouvelle-fonctionnaliteSupprimer la branche fusionnée
