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?