Non-SaaS Product GIT Branching Strategy

Copper Contributor

Dear Team,

 

What’s your recommended approach?

 

A non-SaaS product

Two repos - Backend and Frontend

Current Approach -

Dev, QA and Prod Branches

Sprint branch (can’t go with feature branch as multiple unlimited APIs and multiple user stories will impact the same set of APIs) created out of Dev and merged into Dev at end of sprint

Post each Sprint Dev branch tagged and PR into QA branch

Customers are given Docker images generated out of specific tags from QA branch

 

Now comes the fun part-

 

Say customer 1 on Tag v4.3.0, customer 2 on Tag v4.4.0 and product last release is Tag v4.5.0. Current active sprint once complete would be v4.6.0

 

Developers currently working on active sprint branch for v4.6.0

Bug 1 reported by customer 1 in v4.3.0

Bug 2 reported by customer 2 in v4.4.0

 

I can extract the specific tag code, make the changes, then manually make the changes in other tags and release to those customers if common bug, or else manually make the changes in active branch also so that next release it’s not missed

 

What if Bug 1 is a Feature for customer 2 who doesn’t need it? So where will I store these changes? Which branch?

 

I want to avoid having customer

specific branches as it becomes a big overhead.

 

Suggestions welcome!

0 Replies