- main : Cette branche contient le code en production. Il doit toujours être stable et ne doit pas contenir de version non prête à être déployée.
- develop : Cette branche sert à intégrer les fonctionnalités. Elle contient le code qui est prêt à être testé avant son intégration dans
main.
-
feat/ : Utilisées pour le développement de nouvelles fonctionnalités. Chaque fonctionnalité a sa propre branche, par exemple
feat/ajout-authentification. -
fix/ : Utilisées pour corriger des bugs non critiques identifiés en phase de développement. Chaque correction a sa propre branche, par exemple
fix/correction-bug-login. Ces branches sont créées à partir dedevelopet fusionnées dansdevelopune fois la correction terminée. -
hotfix/ : Utilisées pour les corrections urgentes sur la branche
main. Elles permettent de résoudre rapidement des problèmes critiques en production. Les brancheshotfix/sont créées à partir demainet, une fois la correction apportée, sont fusionnées dansmainetdeveloppour assurer la synchronisation des correctifs. -
release/ : Utilisées pour préparer une nouvelle version. Elles permettent de finaliser les tests et les corrections avant de fusionner dans
main.
-
Développement de Fonctionnalités :
- Créez une branche
feat/à partir dedevelop. - Développez la fonctionnalité et testez-la.
- Fusionnez la branche
feat/dansdevelopune fois terminée.
- Créez une branche
-
Correction de Bugs :
- Créez une branche
fix/à partir dedevelop. - Corrigez le bug et testez la correction.
- Fusionnez la branche
fix/dansdevelopune fois terminée.
- Créez une branche
-
Hotfix :
- Créez une branche
hotfix/à partir demain. - Appliquez la correction urgente.
- Fusionnez la branche
hotfix/dansmainetdevelop.
- Créez une branche
-
Préparation d'une Version :
- Créez une branche
release/à partir dedevelop. - Finalisez les tests et les corrections.
- Fusionnez la branche
release/dansmainetdevelop.
- Créez une branche
Pour faciliter l'adoption et l'application cohérente du Gitflow, il est recommandé d'utiliser des outils dédiés :
- Extensions Gitflow : Des extensions comme
git-flowautomatisent la création et la gestion des branches selon les conventions Gitflow. Elles ajoutent des commandes simplifiées pour initier des fonctionnalités, des releases ou des hotfixes.
Installation de git-flow :
- macOS :
brew install git-flow - Windows : Inclus dans certaines distributions Git pour Windows ou disponible via des installateurs tiers.
- Ubuntu/Debian :
apt-get install git-flow
Initialisation du dépôt avec git-flow:
Après installation, initialisez git-flow dans votre dépôt :
git flow initCette commande configure les branches par défaut (main et develop) et définit les préfixes pour les branches de support (feat/, release/, hotfix/).
-
Assurez-vous que le code est bien testé avant de fusionner dans
developoumain. -
Utilisez des pull requests pour faciliter la revue de code.
-
Gardez les branches
mainetdevelopà jour avec les dernières modifications. -
Utilisez des messages de commit explicites et conformes aux conventions de votre équipe.
-
Mettez en place des pipelines d'intégration continue pour automatiser les tests et les déploiements.
-
Convention de Nommage des Branches: Adoptez une convention claire pour le nommage des branches, par exemple :
- Fonctionnalités :
feat/nom-fonctionnalité - Corrections :
fix/description-correction - Releases :
release/x.y.z(oùx.y.zreprésente le numéro de version) - Hotfixes :
hotfix/description-correction
- Fonctionnalités :