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 (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.
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.
| Kenmerk | Develop | Main / Master |
|---|---|---|
| Doel | Integratie van nieuwe functies | Stabiele releasecode |
| Stabiliteit | Hoog (na tests) | Maximaal (productie) |
| Commitfrequentie | Dagelijks (samenvoegen feature) | Per release (om de 1-4 weken) |
| Bron van takken | Ervan worden feature-takken gemaakt | Ervan worden hotfix-takken gemaakt |
| Samenvoegen | Van feature via PR | Van 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.
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.
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.
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.
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:
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.
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.
# 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
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.
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.
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:
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.
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.
# 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.
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.
# 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
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.
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.
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.
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.
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
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.
Lees ook