I'm using this model in my team:
Today my project stats is following:
- The stable version is running in production using master branch
- We developed new functionalities that need to be tested before production, so we have a release branch be testing under SIT Environment. This new functionalities just can be merged with master after all tests in SIT Environment.
The problem: The Product Owner requested a new field in a Table in Production. So the team suggest two solutions:
Create a hotfix branch from master , add the new field and deploy to a Test Environment. This hotfix can wait months until merge with master, because after test pass we need wait the Product Owner say that can go to production because this field depends on another system changes.
Create a feature branch from develop and add this new field and deploy to a Test Environment. I think this is worst solution because i have things in develop that can't be merged to master, so i will need a cherry-pick to pick-up only desired changed from release to master. Remember that team is validating others functionalities in SIT Environment (release branch).
first Yellow Dot
that is same as the master branch commit. You won't get any development changes. – CharlesettacharlestonFirst Yellow Dot
in your diagram and merge latestRed Dot
orGreen Dot
as I suggested, new_table branch will have only release code + New Table feature. – Charlesettacharleston