Long-Lived Branches main, develop. Always keep "master" for lastest version.
Short-Lived Branches hotfix, feature, release
Get code from "develop"
Create "feature/newfeature"
Merge back to "develop"
Delete "feature/newfeature"
Create "release/v1.0.0" from "develop"
After finalizing, merge into both "master", "develop"
Add tag (v1.0.0) for master release
Create "hotfix/v1.0.1" from "master"
After fixing, merge into both "master", "develop"
Add tag (v1.0.1) for master release
Delete "hotfix/v1.0.1"
Don't create "release" branch
CI\CD pipelines
For live releases, using master branch
For test releases, using develop branch
There will be 2 CI for pipeline
CI pipeline:
Get sources, Tag sources (tag format section)
Add tag name into branch and create tag on Tags page
or pull request, add tag