Appearance
Workflow
Feature/Story development
Create a branch based on
developmentwith name:- With Shortcut story:
type/story-id/story-name(you can use the Shortcut git helpers for this) - Without Shortcut story:
type/short-description
The
typeshould be one offeature,bugorchore(same as story type). For temporary test branches use the typetest. Use thestory-nameor theshort-descriptionfor some keywords (not too long) which will help to quickly identify the content of the branch.- With Shortcut story:
Make the changes to your feature branch
TIP
You don't have to follow the Commit messages convention. However, in case the merge request does only contain one commit, the commit message must follow the Commit messages convention.
Merge any other changes from
developmentto your feature branchYour feature branch must be 0 commits behind
development.TIP
Remember merging
developmentinto your branch during development to avoid a lot of merge conflicts later on.Check the status of the GitLab pipeline of your branch
The pipeline must finish successfully before the branch can be merged.
Create a merge request for your feature branch into
development- The title must follow the Commit messages convention
- Select
Delete source branch when merge request is accepted. - Select
Squash commits when merge request is accepted.
The merge request will be merged by a maintainer if accepted
In case the merge fails:
- Check that you selected
Squash commitsand the merge commit message follows the Commit messages convention. - If the merge request contains only one commit the commit message must follow the Commit messages convention.
- Check that you selected
Deployment of releases and pre-releases
In case you don't use a staging branch, then start with step 4 and use development instead of staging.
Create a merge request to merge
developmentintostagingWARNING
Do not select
Squash commits when merge request is accepted.Otherwise, thestagingbranch will have a different commit history thandevelopmentand must be merged back.Accept the merge request if changes are correct and pipeline was successful
Test/Verify the pre-release version
Step 1-3 can be repeated at any time.
Create a merge request to merge
stagingintoreleaseWARNING
Again, do not select
Squash commits when merge request is accepted..Accept the merge request if changes are correct and pipeline was successful
Verify that the release pipeline was successful
Hotfixes
Create a branch based on
releasewith namehotfix/<short-description>orhotfix/<story-id>/<story-name>with story referenceMake the changes in the hotfix branch
Create a merge request to merge the hotfix branch into the
releasebranch- The title must follow the Commit messages convention
- Select
Delete source branch when merge request is accepted. - Select
Squash commits when merge request is accepted.
Accept the merge request if changes are correct and pipeline was successful
WARNING
Keep in mind that your changes will be directly released and should not cause more trouble than before
Verify that the release pipeline was successful
Merge the
releasebranch into thestagingbranch and thenstagingtodevelopmentNormally this cannot be done with a merge request, because the commit history is different. Merge the branches locally.