Vertakkingswerkstroomtypen 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:
- Wordt deze werkstroom geschaald met teamgrootte?
- Is het eenvoudig om fouten en fouten met deze werkstroom ongedaan te maken?
- Legt deze werkstroom nieuwe onnodige cognitieve overhead voor het team op?
Algemene vertakkingswerkstromen
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 uiteindelijke release.
Ontwikkeling op basis van trunk
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.
Werkstroom functiebranch
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 releasebranch
In de Release Branch-werkstroom wordt een toegewezen vertakking gemaakt op basis van de hoofdbranch bij het voorbereiden van een release. 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 andere werkstromen die in deze zelfstudie 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.