I would like to build a custom version of QGroundControl based on the latest stable release (Stable_V4.0). I am looking for recommendations on how to setup my Git flows which will allow me to customize QGroundControl while still retaining the ability to pull from (e.g. update to latest stable V4, upgrade to new stable V5, cherry pick from Master, etc) and contribute back to the upstream repository, and not work against (or perhaps work with) the existing git flow.
I intend to use a similar flow to QGroundControl; master branch used for development, feature branches off master, and stable branches off master when releasing.
I assume I should create a new development branch to avoid conflicts with the existing development branch ‘master’; e.g. a branch named ‘develop’. This new development branch would then branch from tag v4.0.05 (or should it branch from the HEAD of Stable_V4.0?)
My feature branches and release branches (i.e. stable branches) would then branch off ‘develop’.
Or should me ‘develop’ branch off the point where ‘Stable_V4.0’ branched off ‘master’; i.e. commit 3cb4f12. I would then merge ‘Stable_V4.0’ into my develop.
Or is there another way this is typically done?
Thanks in advance.