We have a master branch for development and a branch for each releases (ie: release-X.Y.Z).
Code in these branches must be as more stable as possible (considered that we haven't test suite for now).
It's not permitted commit directly on these branches. All commits must be merge requests from development branches.
We must do user tests (while not test suites) from the merge requests before merge them.
Case 1. Bug on master
Case 2. New feature on master
Case 3. Bug on release-X.Y.Z (Hotfix)
Case 4. New release