Distribute access to employees.

Help me figure out the accesses.
There is a private repository. There is a main programmer with write rights. How to add a secondary programmer, so that he has access to all branches for writing, except for the master branch. As well as the creation of new branches. For the branch master, read-only.

Help me)