0
votes

Team, We are using a branching strategy called "Branch per release". For every Release we create a Branch and development, testing and deployment will be done from the same Release branch. After a successful PROD Deployment, we will merge the changes from Release branch to MAIN. So, Our MAIN is always PROD replica..

This plan worked very well, but only one thing is been an issue for us. When we have parallel development for different releases, how do we carry one release changes to other releases before it goes to production?

Sometimes, we are in a situation where we need to develop the next release on top of current development? SO, how do i solve this issue? ANy suggestions?

1

1 Answers

0
votes

Create an additional branch for stablization/integration.

  • Main
    • Release 1.0
    • Release 2.0
    • Integration
      • Development

Let's say you have version 2.0 in production and you're preparing version 3.0. Development for version 3.0 happens in Development. When you're ready to stabilize 3.0 for release, you merge it to integration. Additional work (bugfixes, etc) for 3.0 happens in integration. Changes are merged back up to Development on a daily basis.

Parallel development is then free to happen for version 4.0 in the Development branch.