Aller au contenu principal

Exemples et Cas d’Utilisation du Git Flow

Présentation rapide

Git Flow est un workflow populaire pour la gestion des branches Git, structurant le développement autour de branches dédiées aux fonctionnalités, aux releases et aux correctifs. Il permet une gestion claire des versions et une meilleure collaboration en équipe.


Branches principales

  • main (ou master) : Contient le code de production.
  • develop : Intègre les fonctionnalités prêtes à être livrées lors de la prochaine release.

Branches de support

  • feature/* : Pour le développement de nouvelles fonctionnalités.
  • release/* : Préparation d’une nouvelle version.
  • hotfix/* : Corrections urgentes sur la production.

Exemple d’utilisation

Supposons qu’une équipe développe une application web et doive ajouter une nouvelle fonctionnalité (« ajouter un mode sombre ») tout en préparant une nouvelle version et en corrigeant un bug en production.

1. Création d’une fonctionnalité

git checkout develop
git checkout -b feature/mode-sombre
# Développement sur la branche feature/mode-sombre
git add .
git commit -m "Ajout du mode sombre"
git checkout develop
git merge feature/mode-sombre
git branch -d feature/mode-sombre

2. Préparation d’une release

git checkout develop
git checkout -b release/1.2.0
# Corrections de bugs, documentation, tests...
git add .
git commit -m "Préparation de la release 1.2.0"
git checkout main
git merge release/1.2.0
git tag 1.2.0
git checkout develop
git merge release/1.2.0
git branch -d release/1.2.0

3. Correction urgente en production

git checkout main
git checkout -b hotfix/1.2.1
# Correction du bug critique
git add .
git commit -m "Correction du bug critique"
git checkout main
git merge hotfix/1.2.1
git tag 1.2.1
git checkout develop
git merge hotfix/1.2.1
git branch -d hotfix/1.2.1

Cas d’utilisation réels

  • Startups ou PME : Pour structurer le développement et faciliter les déploiements fréquents.
  • Équipes collaboratives : Quand plusieurs développeurs travaillent simultanément sur différentes fonctionnalités.
  • Projets open source : Pour gérer les contributions, releases et corrections de bugs de façon transparente.

Avantages

  • Organisation claire du travail
  • Facilité à gérer plusieurs versions en parallèle
  • Réduction des conflits lors des merges

Inconvénients

  • Complexité pour les petites équipes ou projets simples
  • Nécessite une discipline stricte

Résumé : Git Flow apporte une méthode robuste pour gérer des projets complexes, particulièrement adapté aux équipes et aux cycles de release structurés.