Sobes.tech
Junior

Qu'est-ce que Git Flow?

sobes.tech IA

Réponse de l'IA

Git Flow est un modèle de branchement dans Git proposé par Vincent Driessen. Il définit un ensemble strict de règles pour organiser les branches et gérer le cycle de vie du projet.

Branches principales :

  • master : Contient le code prêt pour la release, toujours stable.
  • develop : Branche de base pour le développement de nouvelles fonctionnalités.

Branches auxiliaires :

  • feature/... : Pour le développement de fonctionnalités spécifiques. Se séparent de develop et sont fusionnées dans develop. Sont asynchrones entre elles.
  • release/... : Pour préparer une nouvelle version. Se séparent de develop, sont fusionnées dans develop et master. Corrigent des bugs liés à la release.
  • hotfix/... : Pour corriger rapidement des erreurs critiques en production. Se séparent de master et sont fusionnées dans develop et master.

Cycle de vie d'une branche feature :

  1. git checkout develop
    
  2. git pull
    
  3. git checkout -b feature/ma-nouvelle-fonctionnalité
    
  4. Développement et commits.
  5. git checkout develop
    
  6. git pull
    
  7. git merge feature/ma-nouvelle-fonctionnalité
    
  8. git branch -d feature/ma-nouvelle-fonctionnalité
    

Avantages :

  • Structure et organisation claires.
  • Réduction des conflits lors de la fusion.
  • Facilité de compréhension pour les nouveaux membres de l'équipe.

Inconvénients :

  • Peut être trop complexe pour de petits projets ou équipes.
  • Nécessite de suivre des règles strictes.