We can setup hierarchy.
That controls people and how they access the repo. Also how they do on each step of development.
For example, the development team
And the project manager manages
Then there is a QA team to perform quality testing
There is one man in charge of deploying the code to master.