SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
GIT FLOW
Mai 2017
Plan
1. Interro surprise :-)
2. git-flow Kesako ?
3. Etude de cas
4. Workflow ?
5. Les commandes git-flow
6. Démo - exemple
7. Conclusion
8. Question
Interro surprise
A quoi sert git ?
Kesako
Git-Flow est un flux de travail qui peut
être utilisé pour effectuer des travaux de
développement continu.
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
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
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
Workflow
● Fonctionnalités
○ Gestion des utilisateurs
○ Gestion des comptes
○ …
● Version - RC
○ Version 1.0 - Version 2.0 - Version 3.0
Workflow > Comment faire ?
Workflow > une solution
détails de l’image
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
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
Workflow > Branching > git standard
Détail de l’image
Workflow > Branching > git standard
● Features :
○ git checkout -b features-users #from develop
○ coding
○ git commit -m ‘commit message’ #Commit
○ git checkout develop #switch to develop
○ git merge --no-ff features-users #Merge
features
○ git branch -d features-users #delete features
branches
Workflow > Branching > git standard
détails de l’image
Workflow > Branching > git standard
● Version / RC :
○ git checkout -b rc-2.0 develop
○ bug fixes correction on rc-2.0 & deploy on
develop
○ git checkout develop #switch to develop
○ git merge --no-ff rc-2.0 #merge bug fix
○ Tous les defects sont corrigés on livre le
RC-2.0
○ git checkout master #switch to master
○ git merge --no-ff rc-2.0 #merge rc-2.0 on
master
○ git tag rc-2.0 #tagguer la version 2.0
Workflow > Branching > git standard
Détails de l’image
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
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
Workflow > git-flow > Installation
● Debian /ubuntu
○ apt-get install git-flow
● Fedora
○ dnf install gitflow
● Depuis le dépot officiel
○ wget -q -O - --no-check-certificate
https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/git
flow-installer.sh install stable | bash
Workflow > git-flow> initialisation
● init
○ git-flow init
Workflow > git-flow> feature
● feature
○ git-flow feature list
○ git-flow feature start <nom_feature>
○ git-flow feature finish <nom_feature>
Workflow > git-flow> Release
● Release
○ git-flow release list
○ git-flow release start <nom_release>
○ git-flow release finish <nom_release>
Workflow > git-flow> Release
● Hotfix
○ git-flow hotfix list
○ git-flow hotfix start <nom_release>
○ git-flow hotfix finish <nom_release>
Workflow > git-flow> Commande
Détails de l’image

Contenu connexe

Similaire à Git flow

GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...akramalidrissi1
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?Membré Guillaume
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versiongoldoraf
 
Organiser son CI/CD - présentation
Organiser son CI/CD - présentation Organiser son CI/CD - présentation
Organiser son CI/CD - présentation Julien Garderon
 
NightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéNightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéZenika
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projectsThierry Gayet
 
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséDécouvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséECAM Brussels Engineering School
 
Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)Jean Gabès
 
Git utilisation quotidienne
Git   utilisation quotidienneGit   utilisation quotidienne
Git utilisation quotidienneSylvain Witmeyer
 
Angular 4 - installation d'Angular -- Français
Angular 4  - installation  d'Angular -- FrançaisAngular 4  - installation  d'Angular -- Français
Angular 4 - installation d'Angular -- FrançaisVERTIKA
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...XavierPestel
 
Le système de versioning git
Le système de versioning gitLe système de versioning git
Le système de versioning gitNassim Bahri
 
JCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueJCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueRossi Oddet
 
Développement informatique : Gestion de projet, versioning, debugging, testin...
Développement informatique : Gestion de projet, versioning, debugging, testin...Développement informatique : Gestion de projet, versioning, debugging, testin...
Développement informatique : Gestion de projet, versioning, debugging, testin...ECAM Brussels Engineering School
 
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...mbrechet
 

Similaire à Git flow (20)

GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
 
Phigrate
PhigratePhigrate
Phigrate
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de version
 
Organiser son CI/CD - présentation
Organiser son CI/CD - présentation Organiser son CI/CD - présentation
Organiser son CI/CD - présentation
 
NightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéNightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery Avancé
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projects
 
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséDécouvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
 
Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)Conférence Shinken à SophiaConf2012 (Jean Gabès)
Conférence Shinken à SophiaConf2012 (Jean Gabès)
 
Git utilisation quotidienne
Git   utilisation quotidienneGit   utilisation quotidienne
Git utilisation quotidienne
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
 
Angular 4 - installation d'Angular -- Français
Angular 4  - installation  d'Angular -- FrançaisAngular 4  - installation  d'Angular -- Français
Angular 4 - installation d'Angular -- Français
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Les bases de git
Les bases de gitLes bases de git
Les bases de git
 
Le système de versioning git
Le système de versioning gitLe système de versioning git
Le système de versioning git
 
JCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueJCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratique
 
Outils de gestion de projets
Outils de gestion de projetsOutils de gestion de projets
Outils de gestion de projets
 
Développement informatique : Gestion de projet, versioning, debugging, testin...
Développement informatique : Gestion de projet, versioning, debugging, testin...Développement informatique : Gestion de projet, versioning, debugging, testin...
Développement informatique : Gestion de projet, versioning, debugging, testin...
 
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
 

Dernier

CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 

Dernier (8)

CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 

Git flow

  • 2. Plan 1. Interro surprise :-) 2. git-flow Kesako ? 3. Etude de cas 4. Workflow ? 5. Les commandes git-flow 6. Démo - exemple 7. Conclusion 8. Question
  • 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
  • 8. Workflow ● Fonctionnalités ○ Gestion des utilisateurs ○ Gestion des comptes ○ … ● Version - RC ○ Version 1.0 - Version 2.0 - Version 3.0
  • 10. Workflow > une solution détails de l’image
  • 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
  • 13. Workflow > Branching > git standard Détail de l’image
  • 14. Workflow > Branching > git standard ● Features : ○ git checkout -b features-users #from develop ○ coding ○ git commit -m ‘commit message’ #Commit ○ git checkout develop #switch to develop ○ git merge --no-ff features-users #Merge features ○ git branch -d features-users #delete features branches
  • 15. Workflow > Branching > git standard détails de l’image
  • 16. Workflow > Branching > git standard ● Version / RC : ○ git checkout -b rc-2.0 develop ○ bug fixes correction on rc-2.0 & deploy on develop ○ git checkout develop #switch to develop ○ git merge --no-ff rc-2.0 #merge bug fix ○ Tous les defects sont corrigés on livre le RC-2.0 ○ git checkout master #switch to master ○ git merge --no-ff rc-2.0 #merge rc-2.0 on master ○ git tag rc-2.0 #tagguer la version 2.0
  • 17. Workflow > Branching > git standard Détails de l’image
  • 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
  • 20. Workflow > git-flow > Installation ● Debian /ubuntu ○ apt-get install git-flow ● Fedora ○ dnf install gitflow ● Depuis le dépot officiel ○ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/git flow-installer.sh install stable | bash
  • 21. Workflow > git-flow> initialisation ● init ○ git-flow init
  • 22. Workflow > git-flow> feature ● feature ○ git-flow feature list ○ git-flow feature start <nom_feature> ○ git-flow feature finish <nom_feature>
  • 23. Workflow > git-flow> Release ● Release ○ git-flow release list ○ git-flow release start <nom_release> ○ git-flow release finish <nom_release>
  • 24. Workflow > git-flow> Release ● Hotfix ○ git-flow hotfix list ○ git-flow hotfix start <nom_release> ○ git-flow hotfix finish <nom_release>
  • 25. Workflow > git-flow> Commande Détails de l’image