Working with release branches
Once we have our project following semantic versioning, we can start working with releases and release branches in our version control system, for example, Git. Using releases and release branches allows us to plan and organize the changes we will make in our code better.
The work with releases is based on the semantic versioning due to the fact that each release branch will be created from master, usually from the latest master version that has a tag (for example, v1.2.3).
The main benefits of using release branches are as listed:
Helps you follow a strict methodology for pushing your code to production
Helps you easily plan and control the changes you make to your code
Tries to avoid the common issue of dragging unwanted code to production
Allows you to block special branches, such as dev or stage, to avoid commits without pull requests
Note that it is only a recommendation; each project is different, and this workflow can be unsuitable for your project.