We have the following remote branches: master staging develop
each are tied to their own server and will deploy when a commit is pushed.
a team member will work on a feature branch myfeaturea which is based off master and merge into develop. In this scenario, the feature was deemed not ready for production.
another team member makes myfeatureb based on master and wants to merge into develop , but cannot because develop contains code that conflicts from the first team member
how can we make sure branches are synced, but also only approved feature branches get to production and not any commits from feature branches that aren't ready / approved?
If feature branches were based off develop and then approved for production, the feature would contain commits from develop that weren't ready for production.
I need a consistent flow and strategy to be able to merge and test different feature branches that are based off master so they are independent from other developer work and automatically ready to be merged into master. but we need to test them too, so we cannot let them conflict on develop either.
So should we somehow remove a commit from develop entirely when deemed not ready?