Como @EEAA mencionou em um comentário, você quase certamente quer um sistema de CI / CD, não uma cadeia de git repos. Eu tenho investigado mais recentemente o go.cd , e ele tem um bom suporte para o tipo de implantações "baseadas em aprovação" que você está descrevendo, via uma interface web, em vez de precisar de pessoas para puxar / empurrar o código.
Eu sou um crente strong (como alguém que faz gerenciamento técnico) na ideia de que um gerente deve confiar em seus devs para não fazer coisas estúpidas, e se os desenvolvedores fizerem coisas estúpidas, o gerente é culpado - ou porque as expectativas apropriadas não foram postas em prática, ou porque as pessoas erradas foram contratadas. Se os desenvolvedores estão forçando o código quebrado ao vivo, o gerente precisa descobrir por que os desenvolvedores estão fazendo isso, e resolver o problema, e não impedir que os desenvolvedores possam enviar o código ao vivo.