Principe

Git flow est une surcouche à Git.

Il est particulièrement utile dans le travail de groupe car il permet d’uniformiser la façon de travailler des contributeurs et d’automatiser le workflow Git.

Prenez le temps de lire le Cheat Sheet

Fonctionnement

De base Git Flow fonctionne avec 5 branches :

  • Feature : Branche sur laquelle on crée de nouvelles fonctionnalités de toutes sortes
  • Develop : Branche dans laquelle se trouvent toutes les avancées qui viennent des features et des bugfixes
  • Release : Branche des différentes sorties de version mineures
  • Hotfix : Branche des corrections à chaud qui seront à la fois fusionnées sur Develop et Master
  • Master : Branche de production

L’arbre

Git Flow

Initialisation

Dans un dépôt git existant : Initialisation de git flow (Création des branches)

Vous devriez garder les noms par défaut :

git flow init

Par la suite, vous serez placé sur “develop” par défaut.

Création d’une feature

git flow feature start LENOM

Ce qui :

  • Crée une branche ‘featureLENOM’ forkée depuis ‘develop’
  • Vous place sur cette branche

Modifications de trucs puis :

git add Les Fichiers que jai modifie
git commit -m "add: the feature LENOM"
git flow feature finish LENOM

Ce qui :

  • Fusionne la branche ‘featureLENOM’ sur ‘develop’
  • Vous place sur la branche ‘develop’
  • Supprime la branche ‘featureLENOM’

Création d’un release

Un release (une sortie) est une version de votre code.

Créer et publier un release va :

  • Partir d’un fork de ‘develop’
  • Modifier ce que vous avez à modifer
  • Valider cette modification
  • Fusionner vers ‘master’ avec un tag de version
  • Fusionner vers ‘develop’
git flow release start MONRELEASE

… modifications

git flow release finish MONRELEASE

Des liens