Git-Flow est un flux de travail qui peut être utilisé pour effectuer des travaux de développement continu.
Il nous permet de simplifier ce processus et réduire le nombre de commandes à exécuter pour déployer notre travail.
Dans cette présentation , nous allons montrer comment il est fastidieux de gérer les flow de GIT avec justes les commandes git traditionnelles.
4. Kesako
Git-Flow est un flux de travail qui peut
être utilisé pour effectuer des travaux de
développement continu.
5. Etude de cas
Un projet A est composé de 5 features
réparties comme suit :
● Version 1.0
○ Gestion des utilisateurs
○ Gestion des comptes
● Version 2.0
○ Gestion des tickets
○ Gestion des appels
● Version 3.0
○ Gestion multi pays
6. Etude de cas > Supposons que
● La version 1.0 est livrée au client & en
production
○ Le client peut à tout moment retourner des
bugs bloquants - urgents - sécurité sur la
version 1.0
● La version 2.0 est en développement
mais on développe la version 3.0 en
parallèle
7. Etude de cas > On devrait pouvoir
● Complexité 1 : On devrait pouvoir
corriger les bugs urgents & déployer
chez le client sans attendre la
prochaine livraison
● Complexité 2: Développer les deux
versions en parallèle - les déployer
sans pour autant entrer en conflit avec
les autres développements et/ou
corrections de bugs urgents
11. Workflow > Branching
● Master
○ Branche de production
○ doit toujours être stable
○ protéger
● Develop
○ Branche de développement continue toujours
avec la dernière version du code (validé !!!)
○ Peut être utilisé pour CAQAO mais plus pour
test croisé interne
○ Connu pour être instable
12. Workflow > Branching
● Features
○ Créer des branches pour chaque feature
○ Merge la fonctionnalité au niveau de develop
quand on finit
○ Supprimer la branche
● Version / RC
○ Créer une/des branches pour chaque version
○ Merge la branche au master quand on finit
○ Peut être utilisé comme preprod / test UAT
pour le client
● Bugs urgents
○ Créer une branche pour chaque bugs urgents
○ Merge la branche sur master/develop/RC
○ Supprimer la branche
18. Workflow > Branching > git standard
● Hotfix - Bug urgent:
○ git branch -b hotfix-1623 master #créer une
branche hotfix-1623 depuis master
○ Corriger le bug urgent
○ git checkout master #switch to master
○ git merge --no-ff hotfix-1623 #merge fix on
master
○ git checkout develop #switch to develop
○ git merge --no-ff hotfix-1623 #merge fix to
develop
○ git branch -d hotfix-1623 #supprimer la
branche de fix
19. Workflow > Branching > git flow
git flow nous permet de simplifier ce
processus et réduire le nombre de
commandes à exécuter pour déployer
notre travail