Git flow

Preview:

DESCRIPTION

Short Git Flow presentation for ToulouseJUG

Citation preview

Git Flow

Igor LaborieToulouse JUG - 21 Fév. 2013mercredi 20 février 13

Introduction

mercredi 20 février 13

Introduction

• Git et les branches c’est génial

mercredi 20 février 13

Introduction

• Git et les branches c’est génial

• Travail collaboratif => Workflow de branches

mercredi 20 février 13

Introduction

• Git et les branches c’est génial

• Travail collaboratif => Workflow de branches

• «Loi Entropique de l’Informatique»

mercredi 20 février 13

Introduction

• Git et les branches c’est génial

• Travail collaboratif => Workflow de branches

• «Loi Entropique de l’Informatique»

• => ça devient vite chaotique

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v1.0v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v1.0v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v1.0v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v1.0v0.2

mercredi 20 février 13

4

Time

v0.1

master

develop

hotfixe(s)

release(s)

feature/a

feature/b

v1.0v0.2 v1.1

mercredi 20 février 13

master

• Version que l’on peut mettre en production

• => avec un tag

mercredi 20 février 13

develop

• Développement de la prochaine version

• Nouvelles features

• Parfois appelée: next, pu (proposed update)

mercredi 20 février 13

feature/XXX

• Développement de la feature XXX

• Partent de develop

• Sont mergées dans develop

• Pas forcément visible dans origin

• Parfois appelée : topic

mercredi 20 février 13

release/XXX

• Préparation de la release XXX

• feature freeze

• => MAJ configuration / documentation

• validation / correction des bugs bloquants

• Partent de develop

• Sont mergées dans master et develop

mercredi 20 février 13

hotfix/XXX

• Correction du bug bloquant XXX de la production

• Partent de master

• Sont mergées dans master et develop

mercredi 20 février 13

support/XXX

• Maintenance des vielles versions

mercredi 20 février 13

Démo

mercredi 20 février 13

Bilan

mercredi 20 février 13

Bilan

• Evite l’inflation des branches

mercredi 20 février 13

Bilan

• Evite l’inflation des branches

• Simplification des opérations des branches

mercredi 20 février 13

Bilan

• Evite l’inflation des branches

• Simplification des opérations des branches

• Rend la branche master toujours propre

mercredi 20 février 13

Bilan

• Evite l’inflation des branches

• Simplification des opérations des branches

• Rend la branche master toujours propre

• Peut être activer/désactiver sans abimer le repository

mercredi 20 février 13

Tooling

• CLI: https://github.com/nvie/gitflow

• (OSX) Source Tree

• EGit ...

• Autre ?

mercredi 20 février 13

Recommended