Develop Branch in Git — wat het is, doel en werkingsprincipe

Auteur: IT Sectr Gepubliceerd: 2026-05-09 Leestijd: 8 min

Develop Branch — dit is de belangrijkste integratietak in Git Flow, waarin alle voltooide feature-takken worden samengevoegd vóór de voorbereiding van een release. In tegenstelling tot main bevat develop de nieuwste, maar nog niet uitgebrachte wijzigingen — hier vindt dagelijkse integratie van code van alle ontwikkelaars in het team plaats. Volgens Atlassian, 2024 is develop een verplichte tak in Git Flow en zorgt het voor een stabiele integratieomgeving voor het team.

Belangrijkste punten

  • Develop Branch — de ontwikkeltak waarin alle voltooide functies worden verzameld vóór de voorbereiding van een release.
  • Bron van feature-takken — alle nieuwe functies worden gemaakt vanaf de laatste commit van develop.
  • Integratietesten worden op develop uitgevoerd vóór het maken van de release-tak.
  • Stabiliteit van develop moet hoog zijn — code ondergaat hier code review en automatische controles.
  • Samenvoegen naar main gebeurt alleen via de release-tak, niet rechtstreeks vanuit develop.

Wat is Develop Branch in Git

Develop Branch (ontwikkeltak) — een langlevende tak in Git Flow die dient als centraal knooppunt voor integratie van code van alle ontwikkelaars. Feature-takken worden erin samengevoegd na voltooiing van de ontwikkeling en het doorlopen van code review.

Code in develop bevindt zich altijd in een staat die klaar is voor het maken van een release, hoewel het nog niet in productie is uitgebracht. Dit betekent dat alle functies in develop review, testen en integratiecontroles hebben doorlopen, maar nog wachten op hun releasecyclus.

In tegenstelling tot main, waar elke codeversie een release is, bevat develop een continue stroom van wijzigingen. Commits in develop verschijnen naarmate feature-takken worden samengevoegd, wat meerdere keren per dag kan gebeuren.

Volgens Vincent Driessen, 2010 is develop een sleutelelement van een succesvol vertakkingsmodel, omdat het werk-in-uitvoering scheidt van versies die klaar zijn voor release.

Verschillen tussen develop en main branch

Het begrijpen van de verschillen tussen develop en main is van cruciaal belang voor correct werken in Git Flow. Deze takken vervullen verschillende functies en hebben verschillende stabiliteitseisen.

KenmerkDevelopMain / Master
DoelIntegratie van nieuwe functiesStabiele releasecode
StabiliteitHoog (na tests)Maximaal (productie)
CommitfrequentieDagelijks (samenvoegen feature)Per release (om de 1-4 weken)
Bron van takkenErvan worden feature-takken gemaaktErvan worden hotfix-takken gemaakt
SamenvoegenVan feature via PRVan release via merge

De scheiding in develop en main stelt het team in staat continu nieuwe code te integreren zonder de stabiliteit van de productieversie in gevaar te brengen. Ontwikkelaars kunnen hun code in develop zien direct na goedkeuring van de PR, zelfs vóór de officiële release.

Rol van develop in Git Flow

In het Git Flow-model neemt develop een centrale plaats in tussen feature-takken (bron van wijzigingen) en release-takken (voorbereiding op uitgave). Begrip van deze hiërarchie is de basis van effectief vertakken.

  • Feature → Develop — elke voltooide functie wordt via een Pull Request met code review in develop samengevoegd.
  • Develop → Release — wanneer er voldoende wijzigingen voor een release zijn verzameld, wordt vanuit develop een release-tak gemaakt.
  • Release → Main + Develop — na de definitieve voorbereiding wordt de release-tak samengevoegd in main (release) en terug in develop (bugfixes).
  • Hotfix → Main + Develop — kritieke fixes worden gemaakt vanuit main en samengevoegd in beide takken.

Een dergelijke structuur garandeert dat develop altijd de nieuwste codeversie met alle nieuwe functies bevat, en main — alleen gevalideerde productiecode. Dit is vooral belangrijk voor mobiele projecten met een lange reviewcyclus in de App Store en Google Play.

Relatie van develop met andere Git Flow-takken

Develop fungeert als centrale schakel tussen feature-, release- en hotfix-takken. Begrip van de samenvoegrichtingen is de basis voor het voorkomen van conflicten en verlies van commits.

Kwaliteitseisen voor code in develop

Codekwaliteit in develop moet hoog zijn, maar niet absoluut. In tegenstelling tot main, waar elke fout een spoedige hotfix betekent, staan in develop kleine tekortkomingen toe die vóór de release worden opgelost.

Minimale vereisten voor code vóór samenvoeging in develop:

  • Compilatie — code moet zonder fouten compileren. Een gebroken compilatie in develop blokkeert het werk van het hele team.
  • Unittests — alle bestaande tests moeten slagen. Nieuwe code moet voor ten minste 70% door tests worden gedekt.
  • Code style — code moet voldoen aan de in het team geaccepteerde opmaak- en naamgevingsstandaarden.
  • Geen verouderde API's — gebruik van verouderde methoden is niet toegestaan in nieuwe code.

Automatische controles in de CI/CD-pipeline moeten bij elke push naar develop worden gestart. Als de compilatie breekt, moet de verantwoordelijke ontwikkelaar het probleem binnen een uur oplossen of zijn commit terugdraaien.

CI/CD-controles voor develop

Configuratie van GitHub Actions voor develop garandeert dat elke PR vóór samenvoeging een automatische controle doorloopt. Een typische pipeline omvat compilatie, tests en linting.

yaml
# GitHub Actions — controleren van develop na samenvoeging
name: Develop CI

on:
  pull_request:
    branches: [develop]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Unit tests
        run: ./gradlew testDebug
      - name: Lint
        run: ./gradlew lint
      - name: Build
        run: ./gradlew assembleDebug

Regels voor samenvoegen in develop

Samenvoegen in develop moet strikte regels volgen om de stabiliteit van de integratietak te behouden. Overtreding van deze regels leidt tot conflicten, gebroken compilaties en tijdverlies van het team.

  • Alleen via Pull Request — directe push naar develop is verboden. Alle wijzigingen doorlopen code review.
  • Minimaal één goedkeuring — een PR moet worden goedgekeurd door ten minste één ontwikkelaar die niet aan de taak heeft deelgenomen.
  • Squash merge — het wordt aanbevolen om alle commits van een feature-tak te combineren tot één bij samenvoeging in develop voor een schone geschiedenis.
  • Actualiteit van PR — vóór samenvoeging moet de PR worden bijgewerkt ten opzichte van de laatste commit van develop (rebase of merge).

De regel van actualiteit van PR is bijzonder belangrijk. Als een feature-tak een week geleden is gemaakt en develop is 50 commits vooruitgegaan, kan directe samenvoeging leiden tot conflicten die beter in de context van de PR kunnen worden opgelost, niet in develop.

Bescherming van develop tegen onjuiste samenvoegingen

Branch protection rules (takbeschermingsregels) — dit zijn instellingen op GitHub-, GitLab- of Bitbucket-niveau die onjuiste wijzigingen in develop voorkomen. Ze garanderen dat zelfs een accidentele push de integratietak niet zal breken.

Aanbevolen beschermingsregels voor develop:

  • Require pull request — verbied directe push naar develop. Alle wijzigingen alleen via PR.
  • Require approvals — minimaal 1-2 goedkeuringen vóór samenvoeging van een PR.
  • Require status checks — blokkeer samenvoeging als de CI/CD-pipeline niet is geslaagd.
  • Require up-to-date — de PR-tak moet worden bijgewerkt ten opzichte van develop vóór samenvoeging.
  • Restrict push access — beperk push-rechten naar develop tot alleen senior ontwikkelaars.

Het configureren van develop-bescherming duurt 10 minuten, maar voorkomt weken van stilstand als gevolg van een gebroken integratietak. Voor mobiele projecten met multiplatform-teams is dit bijzonder relevant.

Voorbeelden van commando's voor werken met develop

Laten we een typische dag van een ontwikkelaar bekijken: 's ochtends werkt hij develop bij, maakt een nieuwe feature-tak, en na voltooiing van de taak voegt hij wijzigingen terug naar develop samen.

bash
# Ochtendsynchronisatie van develop
git checkout develop
git pull origin develop

# Nieuwe feature-tak maken van develop
git checkout -b feature/add-push-notifications

# Werken aan functie...
git add . && git commit -m "Add FCM integration"

# Develop bijwerken tijdens ontwikkeling
git fetch origin develop
git rebase origin/develop

# Na goedkeuring van PR — lokale develop bijwerken
git checkout develop
git pull origin develop
git branch -d feature/add-push-notifications

Het commando git pull in develop voert twee bewerkingen tegelijk uit: git fetch (haalt nieuwe commits van de server op) en git merge (voegt ze samen met de lokale tak). Voor develop is dit de standaard manier van synchronisatie.

Herstel van develop na een gebroken samenvoeging

Als er code in develop terecht is gekomen die de compilatie heeft gebroken, moet snel worden gehandeld. Elk uur stilstand van develop betekent geblokkeerd werk van het hele ontwikkelaarsteam.

Als er code in develop terecht is gekomen die de compilatie heeft gebroken, gebruik dan git revert om een nieuwe commit te maken die de problematische wijzigingen ongedaan maakt. Gebruik geen git reset in develop — dit herschrijft de geschiedenis die al bij andere deelnemers bestaat.

bash
# Vinden van problematische commit
git log --oneline develop

# Commit ongedaan maken via revert (veilig)
git revert a1b2c3d

# Correctie naar externe develop sturen
git push origin develop

# Wijzigingen in een specifieke commit bekijken
git show a1b2c3d --stat

Veelgestelde vragen

Is een develop-tak nodig in een klein project?

Voor projecten met één tot twee ontwikkelaars is develop vaak overbodig — main en feature-takken zijn voldoende. Zodra het team groeit naar 3+ personen, wordt develop noodzakelijk om onvoltooide functies te isoleren van stabiele productiecode.

Kan ik rechtstreeks committen naar develop?

Nee, direct schrijven naar develop is verboden in elk professioneel project. Alle wijzigingen doorlopen een Pull Request met code review en automatische controles. Uitzondering — administratieve aanpassingen van README of CI-configuratie, maar ook deze kunnen beter via een PR worden gedaan.

Wat is het verschil tussen develop en trunk-based development?

In trunk-based development is er geen aparte develop-tak — alle ontwikkelaars werken in main met zeer korte feature-takken (1-2 dagen). Dit is een alternatief voor Git Flow, populair in een DevOps-cultuur met een hoog niveau van testautomatisering.

Hoe vaak moet develop worden bijgewerkt met release-wijzigingen?

Na elke release wordt de release-tak terug in develop samengevoegd om alle correcties die tijdens de releasevoorbereiding zijn gemaakt, in develop op te nemen. Als dit niet wordt gedaan, zal develop afwijken van de releasecode, wat conflicten veroorzaakt bij de volgende release.

Wat te doen als develop is gebroken en niemand een PR kan maken?

Als develop is gebroken, maakt een senior ontwikkelaar een hotfix-tak van de laatste stabiele commit, lost het probleem op en voegt de fix direct in develop samen via een PR met een speciale status. Na herstel wordt een analyse van de oorzaak van de breuk uitgevoerd.

Samenvatting

  • Develop Branch — de centrale integratietak in Git Flow, waarin alle voltooide feature-takken na code review worden samengevoegd.
  • Scheiding van develop en main maakt isolatie van onvoltooide functies van stabiele productiecode mogelijk, waardoor het risico op releasefouten wordt verminderd.
  • Codekwaliteit in develop moet hoog zijn: compilatie, slagen van tests en code style worden automatisch gecontroleerd.
  • Directe push naar develop is verboden — alleen via Pull Request met ten minste één goedkeuring van een collega.
  • Takbescherming via branch protection rules voorkomt accidentele breuken van de integratieomgeving.
  • Release-tak wordt gemaakt van develop en na release terug samengevoegd, waarbij develop wordt gesynchroniseerd met de werkelijke codestatus.
  • Aanbeveling: configureer CI/CD-controles bij elke push naar develop en eis actualiteit van de PR vóór samenvoeging.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook