Geavanceerde Git: monorepo's, submodules en werkstromen · Les

Git Flow versus GitHub Flow

Vergelijk de gestructureerde Git Flow met de eenvoudigere GitHub Flow en ontdek voor welke situaties elke variant het meest geschikt is

Les 1 van 412 stappen

Git Flow versus GitHub Flow is een gratis Geavanceerde Git: monorepo's, submodules en werkstromen-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Geavanceerde Git: monorepo's, submodules en werkstromen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Geavanceerde Git: monorepo's, submodules en werkstromen bevat in totaal 4 lessen.

Waarom Git-werkwijzen gebruiken?

Git-werkwijzen bieden een strategie voor de manier waarop teams Git gebruiken. Ze definiëren regels voor branching, mergen en samenwerken. Zonder een duidelijke werkwijze kan het beheren van wijzigingen en het coördineren van teaminspanningen chaotisch worden.

Deze strategieën helpen de consistentie te waarborgen, de codekwaliteit te verbeteren en de ontwikkeling te versnellen. Laten we twee populaire werkwijzen bekijken!

Git Flow begrijpen

Git Flow is een sterk gestructureerd branchingmodel dat door Vincent Driessen is geïntroduceerd. Het is ontworpen voor projecten met geplande releasecycli en biedt een robuust raamwerk voor het beheren van functies, releases en hotfixes.

Het gebruikt een aantal langlevende branches en ondersteunende kortlevende branches om de ontwikkeling te organiseren.

De belangrijkste branches van Git Flow

Git Flow is gebaseerd op twee primaire langlevende branches:

  • master (of main): Deze branch weerspiegelt altijd een toestand die klaar is voor productie. Alleen releases met tags worden hierin gemerged.
  • develop: Deze branch integreert alle geaccepteerde featurebranches en bevat de geschiedenis voor de volgende release.

Zie master als 'wat momenteel live staat' en develop als 'wat hierna komt'.

Git Flow: functies ontwikkelen

Bij het ontwikkelen van nieuwe functies in Git Flow:

  • Doel: Nieuwe functies ontwikkelen voor de komende release.
  • Oorsprong: Altijd een branch maken vanaf develop.
  • Naamgeving: Gewoonlijk feature/my-feature-name.
  • Levenscyclus: Zodra een functie klaar en getest is, wordt deze terug in develop gemerged en vervolgens verwijderd.

Zo blijft de branch develop schoon totdat een functie klaar is.

Git Flow: releases beheren

Voor het voorbereiden van een nieuwe productierelease in Git Flow:

  • Doel: Een nieuwe productierelease voorbereiden. Kleine bugfixes en de laatste voorbereidingen vinden hier plaats.
  • Oorsprong: Een branch maken vanaf develop wanneer deze klaar is voor een release.
  • Levenscyclus: Zodra de branch stabiel is, wordt deze naar master gemerged (en van een tag voorzien!) en ook terug naar develop gemerged. Daarna wordt de releasebranch verwijderd.

Deze branch biedt een afzonderlijke periode voor de voorbereiding van de release.

Git Flow: urgente fixes

Wanneer er kritieke bugs in productie worden gevonden, gebruikt Git Flow hotfixbranches:

  • Doel: Kritieke bugs in productie snel herstellen (op master).
  • Oorsprong: Altijd een branch maken vanaf master.
  • Levenscyclus: Na de fix wordt deze zowel naar master (en van een tag voorzien!) als naar develop gemerged. Daarna wordt de hotfixbranch verwijderd.

Hotfixes zijn bedoeld voor directe productieproblemen en slaan de gebruikelijke cyclus via develop over.

Git Flow: voor- en nadelen

Git Flow biedt een duidelijke, gestructureerde aanpak die ideaal is voor projecten met:

  • Geplande releases: Voorspelbare releasecycli profiteren van de verschillende fasen.
  • Langdurige ondersteuning: Het helpt om meerdere versies tegelijk te beheren.
  • Formele omgevingen: Omgevingen waarin strikte controle over releases cruciaal is.

De complexiteit ervan kan echter overdreven zijn voor kleinere teams of projecten met continue levering.

Inleiding tot GitHub Flow

GitHub Flow is een veel eenvoudigere, lichtgewicht werkwijze die gericht is op continue levering. Deze is ontworpen voor projecten die vaak implementeren, zelfs meerdere keren per dag.

De werkwijze draait om één main-branch en kortlevende featurebranches, waarbij pull requests intensief worden gebruikt voor samenwerking.

GitHub Flow: belangrijkste regels

De principes van GitHub Flow zijn eenvoudig:

  • main kan altijd worden geïmplementeerd: De branch main moet altijd stabiel en klaar voor implementatie zijn.
  • Featurebranches: Maak voor elke nieuwe functie of fix vanuit main een nieuwe branch.
  • Pull requests: Gebruik pull requests voor codebeoordeling en overleg voordat je naar main merge’t.
  • Implementeer vaak: Implementeer meteen zodra de wijzigingen naar main zijn gemerged.

Eenvoud en snelle implementatie zijn de belangrijkste kenmerken van deze werkwijze.

GitHub Flow: beste toepassingsgebieden

GitHub Flow is uitstekend geschikt voor:

  • Continue levering/implementatie: Ideaal voor snelle, frequente releases.
  • Kleinere teams: Minder overhead en eenvoudiger te beheren.
  • Webapplicaties: Waar snelle iteraties en directe feedback waardevol zijn.

De eenvoud kan een nadeel zijn voor projecten die strikte versiebeheer of langdurige ondersteuning van oudere releases nodig hebben.

Werkwijzen vergelijken

Op basis van wat je hebt geleerd over Git Flow en GitHub Flow: denk aan een project dat meerdere keren per dag nieuwe functies naar productie moet uitbrengen, met directe implementatie na de codebeoordeling. Welke werkwijze is doorgaans beter geschikt voor dit scenario?

Samenvatting: je werkwijze kiezen

We hebben twee belangrijke Git-werkwijzen verkend: Git Flow en GitHub Flow. Git Flow is sterk gestructureerd en gebruikt meerdere langlevende branches voor geplande releases. Het is ideaal voor complexe projecten met versiebeheer. GitHub Flow is eenvoudiger en richt zich op één main-branch en continue implementatie via pull requests. Het is perfect voor flexibele projecten die zich snel ontwikkelen.

Je keuze hangt af van de releasefrequentie van je project en de behoeften van je team.

Gratis beginnen

Leer Geavanceerde Git: monorepo's, submodules en werkstromen met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Git Flow versus GitHub Flow” gratis?

Ja — de volledige tekst van “Git Flow versus GitHub Flow” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Geavanceerde Git: monorepo's, submodules en werkstromen wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Geavanceerde Git: monorepo's, submodules en werkstromen bevat in totaal 4 lessen.

Wat leer ik in “Git Flow versus GitHub Flow”?

Vergelijk de gestructureerde Git Flow met de eenvoudigere GitHub Flow en ontdek voor welke situaties elke variant het meest geschikt is Je oefent met Geavanceerde Git: monorepo's, submodules en werkstromen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Geavanceerde Git: monorepo's, submodules en werkstromen te beginnen?

Ervaring vooraf is niet nodig. Geavanceerde Git: monorepo's, submodules en werkstromen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Git Flow versus GitHub Flow”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Geavanceerde Git: monorepo's, submodules en werkstromen?

Ja. Elke les over Geavanceerde Git: monorepo's, submodules en werkstromen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Git Flow versus GitHub Flow
  2. GitLab Flow en releasebeheer
  3. Feature branching en hotfixes
  4. Trunk-based development en continuous integration
← Terug naar Geavanceerde Git: monorepo's, submodules en werkstromen