Skip to content

Travailler avec git flow

aymericderbois edited this page Sep 15, 2012 · 4 revisions

Git flow

Kezako ?

Grosso modo Git flow est une technique de travaille avec git. Tout repose sur une gestion spéciale des branches.

Par défaut on créer 2 branches, la master (qui est créée par défaut) et la develop. On considère que sur la branche master il n'y qu'une version stable du projet (une version de production). La branche develop porte bien son nom, c'est à dire qu'elle n'est pas forcément stable (cependant tous les tests unitaires doivent passés !).

On ne commit jamais sur la branche master !

Il y a ensuite trois autres types de branches : release, feature et hotfix

Feature

Lorsque l'on souhaite développer une nouvelle feature on va créer une branche à partir de la branche develop qui aura pour nom "_feature/featureName". Tous ce qui est lié à cette feature sera donc développé sur cette branche. Lorsque la feature est terminée (et que tous les tests unitaires de la feature passes) on peut merger cette branche avec la branche develop

Release

Lorsque l'on veut sortir une release on va créer une nouvelle branche basé sur la branche develop qui s'appellera realease/NumeroRealease. Sur cette branche on ne fera que des fixbug (pas de feature ou grosse modif) l'objectif est que le produit soit utilisable en production. Une fois fini on merge cette branche avec la master (ou l'on pourra tagger la version) et avec la develop

Hotfix

On fait des branches Hotfix pour corriger des bugs importants qui sont sur la master. On va donc créer une brahce nommé hotfixe/FixName basé sur la branche master. Une fois le bug corrigé on va merger la branche avec la master et la develop

Outils ?

Git flow est énormément utilisé et il existe donc une extension git pour nous simplifier la vie.

Le plus simple pour l'installation est d'utiliser le gestionnaire de paquet de votre distrib. L'extension est disponible sur Fedora et Ubuntu dans les dépots officiels !

Liens

Présentation de git flow

Dépot de git flow

Explication de l'utilisation de git flow

##Conclusion A première vue ça peut paraître assez contraignant mais à force d'utilisation cela fait gagner du temps et évite de faire des bêtises sur les branches importantes. Nous allons donc utiliser ce système sur tous les dépots du projet

Clone this wiki locally