-
Notifications
You must be signed in to change notification settings - Fork 6
GitFlow
Met regels.overheid.nl hanteren we min of meer de gitflow die voor het eerst gepubliceerd is door Vincent Driessen bij nvie.
De centrale repo heeft twee primaire branches met een oneindige levensduur:
- main
- develop
We beschouwen origin/main als de branch waar de broncode van HEAD altijd een productie status heeft.
Voor de ontwikkeling van De regels.overheid.nl hanteren we twee typen met een tijdelijke levensduur:
- feature
- release
Naming conventions
- voor een feature branch:
<issue nummer>-<issue titel>
óffeature-<issue nummer>
(zie het voorbeeld hieronder) - voor een release branch:
release-/<MAJOR.MINOR.PATCH>
cf. Semantic Versioning
Naar verwachting zal dit na verloop van tijd minder nodig zijn, omdat De regels.overheid.nl meer content is dan functionaliteit(en) en/of anderszins. De werkwijze die we hanteren is de volgende:
- Er is een issue of er wordt een issue aangemaakt;
- Via de issue pagina wordt een branch gecreëerd (zie docs voor nadere toelichting) Let op: selecteer altijd
develop
als de branch source! - Werk lokaal aan/in deze feature branch;
- Creëer een pull request voor de comparing changes tussen
base: develop
encompare: <issue nummer>-<issue titel>
; - (optioneel) Werk lokaal verder waar nodig aan deze feature branch;
- Merge de feature in
develop
om ze toe te voegen aan de komende release. - Verwijder de feature branch.
Deze branch komt van main
óf van de bijna-gereed versie van develop
en krijgt de naam release-/<MAJOR.MINOR.PATCH>
.
Zodra de status van de release klaar is om een echte release te worden:
- Creëer een pull request voor de comparing changes tussen
base: main
encompare: release-/<MAJOR.MINOR.PATCH>
; - (optioneel) Werk lokaal verder waar nodig aan deze release branch;
- Merge de release branch met de
main
branch; - Maak een corresponderende release nummer tag en publish de release (zie docs voor nadere toelichting);
- Merge de wijzigingen die in de release zijn gemaakt terug in
develop
. - Verwijder de release branch.