GitFlow

Leestijd: 2 Minuten

GitFlow een ontwikkel model wat ondertussen al weer een tijdje meegaat. Het is eigenlijk niks meer dan een verzameling van commando’s die jouw leven het het leven van je team makkelijker maakt. Maar aan de andere kant ook complexer. Dit heb ik meegemaakt toen ik een Migratie van SVN naar GIT leidde. De keuzes waren gevallen op Git icm. GitLab en GitFlow. Met alle opties had ik ervaring maar elke organisatie is uniek en hier werkte GitFlow gewoon niet. We wouden meer controle hebben wanneer een feature gereleased werd en wat live kwam te staan. Ik heb het orginele GitFlow model versimpeld, en uiteindelijk ging de develop branch weg, en werd alles op basis van merge reguesten en de master gedaan. Ik kwam meer uit op het model wat GitLab zelf beschrijft op zijn website. Maar hier bestonden nog geen tools voor om dit makkelijk te maken voor je team.

Een Feature en een Hotfix worden op basis van de Master branch gemaakt. Het enige onderscheid tussen een Feature en een Hotfix zit in de naam, en wil zeggen; Een Feature moet door middel van een Release Branch mee naar de Master branch. Je krijgt dat te maken met een stukje communicatie, database wijzigingen en of commercieel aspect. Een Hotfix is een snelle wijzigingen wanneer iets mis is. En kan zonder problemen worden gemerged naar de Master.

De master branch is geprotected, dat wil zeggen. Niet elke developer kan hierheen pushen. Wanneer een developer een Feature of een Hotfix wil afsluiten moet dit via een Merge request in GitLab. Het voordeel hiervan is dat de Continious Intergration zijn testen heeft gedaan over de branch, en de release manager weet wat en wanneer het live komt te staan. Ook zijn de wijzigingen digitaal in te zien en is er ruimte voor een changelog / documentatie door middel van een webhook die aan een merge request zit.

Een andere mogelijkheid is dat de Release manager een Release branch start en de gewenste Feature(s) in de release branch merged. Deze branch gaat dan via een merge request weer in de Master, en bied dus dezelfde voordelen als hierboven.

 

https://github.com/thijsbekke/gitflow

https://github.com/thijsbekke/git-flow-completion

Wat ik nog verder wil hiermee ? Een website maken waar het allemaal wordt uitgelegd met plaatjes en diagrammen, misschien wordt dit ook wel een populair ontwikkel model.

Arduino Shift register
Twee shift registers