We use Bitbucket to host a large monolithic front-end application that is gradually being split to individual packages using lerna. Historically we have our main develop branch to merge all recent release branches into. However, release history is not linear because of the individual packages architecture, so we might have:
| - other-app/release/10.0 - latest
/
/
| | some-app/release/12.0
| /
| /
|\/
|/\
| \
| | - some-app/release/11.0
| |
| |
|\ /
| \
|/ \
| |- other-app/release/9.0 released
| |
| /
| /
|/
| - develop
(I'm not very good at charts).
So what if, say, we want to fix something in some-app/release/11.0 before it's released and have it auto-merged into some-app/release/12.0 but not other-app/release/* and develop?