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 in master
Case 2. New feature in master
Case 3. Bug in release-X.Y.Z (Hotfix)
Case 4. New release