We have a private repository and we want an external programmer to contribute with his code to our project.
We don't want him to accidentally mess our code so I would like to allow him to clone the repository and when he have something to push, we have to approve it before we merge it into the master. He can't merge his branch into any our branches.
How can we do that? How do yo do that?