Common Branching Strategy
The branching strategy may be different for each project. However, we can follow a standard way when we have a new project. Mainly, we are following the Scaled TBD(Trunk-Based Development).
Common Branch Summary
| Branch | Live | Description |
|---|---|---|
main | long | ready to publish (for UAT and Production) - After merged from a feature, it will deploy to UAT environment - Tester will test it in the UAT environment - After finish the UAT, it will deploy to Production |
feature/{ticketID-short-feature-name} | short | feature work has a own branch (Eg. 1234-add-my-feature) - After opening PR, it will be deployed to DEV environment - After approved by QA, it will be merged into the main branch- In the main, it will deploy the UAT and PROD- After merged into the main, it should be deleted |
bugfix/{ticketID-short-bugfix-name} | short | to fix a bug same as above the process of the deployment |
research/{ticketID-short-name} | short | a research, experiment or investigation and will NOT merge to main (optional) |
- Short-lived branches should be removed after merging into the
mainbranch. (at the end of the sprint)
Basic Rule
Developers need to learn how to work in small batches, implement synchronized reviews and automated unit testing. Part
of the definition of done is to deliver the feature to the main branch.