Git Flow Branching Strategie
Overzicht
Bij Innovative365 gebruiken we de Git Flow branching strategie waar mogelijk.
Kernprincipes
Twee hoofdbranches:
main- bevat productie-ready codedevelop- integratie branch voor nieuwe ontwikkelingen
Ondersteunende branches:
feature/*- voor het ontwikkelen van nieuwe functionaliteitenrelease/*- voor het voorbereiden van een nieuwe releasehotfix/*- voor kritieke fixes die direct naar productie moeten
Rebasing vs. Merging
De develop branch is protected en vereist dat feature branches worden gerebased voordat ze worden geïntegreerd.
Voordelen van Rebasing
Creëert een schone, lineaire commit-geschiedenis
Voorkomt onnodige merge commits
Vergemakkelijkt het traceren van wijzigingen
Maakt het terugdraaien van specifieke wijzigingen eenvoudiger
Rebase Workflow
Rebase Commando's
Rebase Commando's Update je develop branch:
Rebase je feature branch:
git checkout feature/mijn-feature git rebase develop
Bij conflicten:
Los conflicten op in je editor
Force push naar je remote feature branch:
Best Practices
Gebruik het Conventional Commits patroon voor duidelijke, gestructureerde commit messages:
feat:- voor nieuwe functionaliteitenfix:- voor bugfixesdocs:- voor documentatie wijzigingenstyle:- voor code style wijzigingen (formatting, etc.)refactor:- voor code wijzigingen die geen bugs fixen of features toevoegenperf:- voor performance verbeteringentest:- voor het toevoegen of corrigeren van testschore:- voor wijzigingen in build processen of toolswip:- voor werk in uitvoeringclean:- voor code opschoning
Bij het oplossen van merge conflicten gebruik de volgende conventie in je commit message:
merge: resolve conflicts in [bestandsnaam/module]Voeg details toe over hoe de conflicten zijn opgelost als dit niet triviaal was
Rebase je feature branch regelmatig op develop om conflicten vroeg te detecteren
Gebruik altijd
--force-with-leasein plaats van--forcevoor veiligere pushesVermijd rebasing op branches die al met teamgenoten gedeeld zijn zonder afstemming
Start feature branches altijd vanaf de meest recente develop versie
Branch Policies
Op de develop branch zijn de volgende regels/richtlijnen van toepassing:
Pull requests zijn verplicht voor alle wijzigingen
Code review door ten minste één teamlid is vereist
Branches moeten up-to-date zijn met develop voordat ze kunnen worden gemerged
Automatische tests moeten succesvol zijn voordat de PR kan worden goedgekeurd
Werken met Pull Requests
Zorg dat je feature branch gerebased is op develop
Maak een Pull Request aan naar develop via GitHub
Wacht op de code review en CI/CD checks
Verwerk feedback indien nodig met nieuwe commits
Rebase opnieuw wanneer er wijzigingen in develop zijn
Wanneer alles is goedgekeurd, wordt de PR gemerged