Different roles in Git team

Imagine John is the project manager. He leads a team of developers. He setups a git repository for the development team to use.

On the other side, John setups a git repository that connects to production environment.

John, the project manager, check for updates of stable branch from the developmentā€™s git repository. Then John pull the code and push to the production git repository.