We de-facto use the gitflow branching model at https://nvie.com/posts/a-successful-git-branching-model/
BUT the "master/develop" branches are making double duty and serve not purpose.
In practice all the code merged in develop is immediately usable in production.
Therefore I suggest we switch to a simpler branching model which is the de facto model we use today:
- one single default branch called "main" where only merges are done
- features are pushed in other branches and merged when fully ready in "main"
- now and then we tag and cut a formal release from "main"
- exceptionally and likely never we can branch from a tag to backport a hotfix just there
We de-facto use the gitflow branching model at https://nvie.com/posts/a-successful-git-branching-model/
BUT the "master/develop" branches are making double duty and serve not purpose.
In practice all the code merged in develop is immediately usable in production.
Therefore I suggest we switch to a simpler branching model which is the de facto model we use today: