-
Notifications
You must be signed in to change notification settings - Fork 0
Travailler avec git flow
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
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
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
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
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 !
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