Cet article date d'il y a plus d'un an.
Il est possible qu'il ne soit plus à jour.
Git Fl♥w pour réellement travailller en équipe avec Git
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
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