Fala Roger, tudo bem ?
Então, em repositórios pessoais (que tem um -unico- usuário padrão como owner) não é possível fazer esse tipo de controle. Todo collaborator tem acesso a escrita, não é possível fazer que um collaborator tenha apenas acesso leitura, por exemplo.
Fonte da documentações: https://help.github.com/articles/access-permissions-on-github/
Veja essa parte da documentação sobre permission levels for a user account repository:
Collaborators can't have read-only access to repositories owned by a user account
Todo Collaborator sempre tem os seguintes acessos:
Collaborators on a personal repository can:
Push to (write), pull from (read), and fork (copy) the repository
Create, apply, and delete labels and milestones
Open, close, re-open, and assign issues
Edit and delete comments on commits, pull requests, and issues
... e várias outras descritas no link..
Só é possível ter esse tipo de configuração mais granular em repositórios de organization accounts. Tem até uma dica a respeito disso na mesma documentação.
Você pode criar uma organization no github e ter esse gerenciamento nos repos dela. =)
Alternativamente, o que você poderia fazer pra ter um pouco de proteção à escrita mesmo no repo do seu usuario do github, é utilizar alguma restrição sobre branches, como a master
por exemplo.
Na área de Settings, você pode selecionar Branches:
Perceba que nesse exemplo não existe nenhuma regra adicionada. Se você clicar em Add rule você pode por exemplo proibir pushes para a branch master
, obrigando qualquer colaborador a fazer push
pra uma outra branch e que só pode ser "mergeada" para a master
a partir de quantidades predefinidas de aprovações de reviews.
Exemplo:
Enfim, espero ter ajudado. Abraço!