I am trying to come up with a branching strategy.
We have two teams teams working on the same product which is kept in one repository. Both teams have different release plans plans and if both teams merge on develop then it will be create or problems for for another team to release as release branch created from develop will contain changes changes from other team.
Strategy that I am thinking is:
masterwill be the source of truth and reflect current prod state.Both teams will have their own develop branch.
team1-developandteam2-develop. Once a team wants to release they can create a release branch from their own develop branch and release on prod from the release branch, then release branch will be merged to master.Other team will down-merge master to their develop to pull new release changes and keep their respective develop branches in sync with prod code.
Is this a good strategy? What can be other better solutions? Please guide.