Gestion des branches
Les commandes mentionnées ici font partie du workflow GitFlow, qui est une extension de Git utilisée pour structurer et automatiser les branches et le flux de travail de développement. Ces commandes proviennent du plugin Maven Maven GitFlow Plugin.
Voici une explication des différentes commandes et de leur utilisation.
1. gitflow:release-start
- But : Commence une nouvelle branche de release à partir de la branche 
developet met à jour les versions du projet pour refléter la version de la release. - Utilisation :
mvn gitflow:release-start - Exemple de workflow :
- À la fin du développement, une branche de release est nécessaire pour préparer la prochaine version de production.
 - La branche est créée à partir de la branche 
develop, où le développement a lieu. - Cette commande met également à jour les versions dans les fichiers de configuration (ex : 
pom.xmlpour les projets Maven). 
 
2. gitflow:release-finish
- But : Termine une branche de release en la fusionnant dans les branches 
mainetdevelop, puis met à jour les versions pour la prochaine phase de développement. - Utilisation :
mvn gitflow:release-finish - Exemple de workflow :
- Après avoir corrigé les derniers bogues et stabilisé la release, la branche de release est fusionnée dans 
main. - La version de production est étiquetée sur 
mainet fusionnée dansdevelop. - La version suivante est ensuite définie pour 
developpour la prochaine phase de développement. 
 - Après avoir corrigé les derniers bogues et stabilisé la release, la branche de release est fusionnée dans 
 
3. gitflow:release
- But : Publie directement un projet sans créer de branche de release. C'est une approche simplifiée où il n'y a pas de branche spécifique de release.
 - Utilisation :
mvn gitflow:release - Exemple d’utilisation : Cette commande est utile dans les projets plus simples où vous souhaitez publier rapidement une version de production sans passer par la gestion de plusieurs branches.
 
4. gitflow:feature-start
- But : Crée une nouvelle branche de feature (fonctionnalité) à partir de la branche 
developpour travailler sur une nouvelle fonctionnalité. - Utilisation :
mvn gitflow:feature-start - Exemple de workflow :
- Une nouvelle fonctionnalité doit être développée.
 - Une branche de fonctionnalité (par exemple 
feature/module-catalogue) est créée. - Le développement de la fonctionnalité est isolé dans cette branche jusqu'à son achèvement.
 
 
5. gitflow:feature-finish
- But : Termine une branche de fonctionnalité en la fusionnant dans la branche 
develop. - Utilisation :
mvn gitflow:feature-finish - Exemple de workflow :
- Une fois que la fonctionnalité est terminée et validée, elle est fusionnée dans la branche 
develop. - La branche de fonctionnalité peut ensuite être supprimée, puisque tout le code est intégré dans 
develop. 
 - Une fois que la fonctionnalité est terminée et validée, elle est fusionnée dans la branche 
 
6. gitflow:hotfix-start
- But : Crée une branche de hotfix à partir de 
mainpour corriger un problème urgent en production et met à jour les versions pour la correction. - Utilisation :
mvn gitflow:hotfix-start - Exemple de workflow :
- Un bug urgent en production nécessite une correction rapide.
 - Une branche 
hotfixest créée à partir de la branchemainpour résoudre ce problème, souvent avec une incrémentation de version mineure (ex :v1.0.1). 
 
7. gitflow:hotfix-finish
- But : Termine une branche de hotfix en la fusionnant dans 
mainetdevelop, tout en mettant à jour les versions. - Utilisation :
mvn gitflow:hotfix-finish - Exemple de workflow :
- Une fois la correction effectuée, elle est fusionnée dans 
mainet taguée pour indiquer la version corrigée. - Ensuite, la correction est également fusionnée dans 
developpour être incluse dans les futures versions. 
 - Une fois la correction effectuée, elle est fusionnée dans 
 
8. gitflow:support-start
- But : Crée une branche de support à partir d'un tag de production, souvent pour assurer la maintenance de versions anciennes.
 - Utilisation :
mvn gitflow:support-start - Exemple de workflow :
- Lorsqu'une version plus ancienne du projet nécessite un support ou des corrections, une branche de support peut être créée à partir de cette version (ex : 
support/1.x). - Cela permet de continuer à travailler sur la version en production tout en ayant des versions plus récentes en parallèle sur 
mainetdevelop. 
 - Lorsqu'une version plus ancienne du projet nécessite un support ou des corrections, une branche de support peut être créée à partir de cette version (ex : 
 
9. gitflow:version-update
- But : Met à jour la version du projet sur une branche de release ou de support, et peut également créer un tag et pousser les modifications vers le dépôt distant.
 - Utilisation :
mvn gitflow:version-update - Exemple de workflow :
- Lorsque vous souhaitez modifier la version actuelle du projet (par exemple, mise à jour de version mineure ou majeure).
 - Vous pouvez également utiliser cette commande pour étiqueter une version avant de la publier.