Let project aeccessible by limited people
- Create a group in "People" page
- Add allowed people in the group
- Select the project, and select "Access".
- Add a new reference with "refs/*", and new "READ" rule.
- Add the group inside
- Select "exclusive" option
- Save the change
Forbid pushing code into branch directly without code review
- Choose "All Project" in "Project" page, and select "Access".
- In ref/heads/* page, move to "PUSH" permission.
- Provide "Allow" to administrator, and "Deny" to registered users and project owners.