Typen vertakkingswerkstromen verkennen
Wat is een geslaagde Git-vertakkingswerkstroom?
Wanneer u een werkstroom voor uw team evalueert, moet u rekening houden met de cultuur van uw team. U wilt dat de werkstroom de effectiviteit van uw team verbetert en geen last is die de productiviteit beperkt. Enkele aandachtspunten bij het evalueren van een Git-werkstroom zijn:
- Is deze werkstroom opschaalbaar naarmate het team groeit?
- Is het eenvoudig om fouten met deze werkstroom ongedaan te maken?
- Legt deze werkstroom nieuwe onnodige cognitieve overhead voor het team op?
Algemene takwerkprocessen
De populairste Git-werkstromen hebben een soort gecentraliseerde opslagplaats waaruit afzonderlijke ontwikkelaars zullen pushen en ophalen.
Hieronder vindt u een lijst met enkele populaire Git-werkstromen waarover we in de volgende sectie nader ingaan.
Deze uitgebreide werkstromen bieden meer gespecialiseerde patronen voor het beheren van vertakkingen voor functieontwikkeling, hotfixes en de uiteindelijke uitgave.
Trunk-gebaseerde ontwikkeling
Ontwikkeling op basis van Trunk is een logische uitbreiding van Gecentraliseerde werkstroom.
Het kernidee achter de Trunk-gebaseerde ontwikkelwerkstroom is dat alle ontwikkelwerkzaamheden rechtstreeks plaatsvinden op de hoofdvertakking (ook wel 'trunk' of 'master' genoemd). Deze benadering benadrukt continue integratie, waarbij ontwikkelaars vaak kleine, incrementele wijzigingen doorvoeren in de hoofdbranch. Continue integratie en geautomatiseerd testen spelen een cruciale rol bij het onderhouden van de kwaliteit en stabiliteit van code.
Featurebranch-werkstroom
De functievertakkingswerkstroom benadrukt het inkapselen van elke nieuwe functie of wijziging in de toegewezen vertakking, gescheiden van de hoofdvertakking. Ontwikkelaars maken een nieuwe vertakking voor elke functie of elk probleem waaraan ze werken, ontwikkelen en testen de wijzigingen in isolatie en voegen de functiebranch vervolgens weer samen in de hoofdbranch zodra deze is voltooid en getest. Deze aanpak maakt parallelle ontwikkeling van meerdere functies mogelijk, vereenvoudigt codebeoordeling en zorgt ervoor dat de hoofdbranch stabiel blijft.
Werkstroom release-tak
In de Release Branch-werkstroom wordt een aparte vertakking gemaakt van de hoofdvertakking wanneer een release wordt voorbereid. Deze vertakking wordt gebruikt om de code te stabiliseren, eventuele last-minute bugs of problemen op te lossen en definitieve tests uit te voeren voordat de release in productie wordt geïmplementeerd. Zodra de release als gereed wordt beschouwd, wordt deze weer samengevoegd in de hoofdvertakking en mogelijk in andere langlopende vertakkingen, zoals ontwikkelings- of functievertakkingen. Deze strategie maakt een beheerd en georganiseerd releaseproces mogelijk, terwijl de hoofdbranch stabiel blijft voor doorlopende ontwikkelingswerkzaamheden.
Werkstroom voor forking
De *Forking Workflow* is fundamenteel anders dan de overige werkstromen die in deze handleiding worden besproken. In plaats van één opslagplaats aan de serverzijde te gebruiken om te fungeren als de 'centrale' codebase, krijgt elke ontwikkelaar een opslagplaats aan de serverzijde. Dit betekent dat elke inzender twee Git-opslagplaatsen heeft: een lokale privéopslag en een openbare serverzijde. Deze aanpak bevordert een hoge mate van parallelle ontwikkeling en samenwerking tussen inzenders en onderhoudt een schone en georganiseerde codebasis.