With Platform.sh you can decide how you organize branches; the branches do not have to be strictly hierarchical. E.g.:
production
- develop
-- feature/xxx
- staging
-- feature/xxx
Let's say that production and stage are dedicated, the others are on-demand environments that can be temporary. This means you can also deploy from develop to production or add an emergency hotfix branch like so: