Forum Discussion
Non-SaaS Product GIT Branching Strategy
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!