¿Cómo bloquear la twig maestra de git repository?

Necesito bloquear la twig principal de un git repo. Probé los anzuelos precompromisos pero solo son ganchos del lado del cliente, pero quiero bloquear la twig maestra de la mayoría de los usuarios. ¿Alguien puede decirme los pasos para pre-receive hook on git (yo uso github) o alguna forma mejor de bloquear master?

PD: gitolite no es compatible con nuestra versión con licencia de github.

Licencia de GitHub significa " GitHub :enterprise ", y eso también significa, como se explica en el artículo " Migrar desde GitHub: FI ": no se permiten enganches personalizados .
(Consulte también " ¿Cómo puedo agregar un gancho de git personalizado a un repository de GitHub Enterprise? ")

Así que abordaría esto de manera diferente, y no mantendría ni un solo repository en ese server, sino dos repositorys (el segundo sería un clon del primero).

Todos pueden pasar al primero, pero solo un usuario seleccionado puede pasar al segundo, lo que le permite seleccionar desde el primer repository lo que es elegible para ser enviado al segundo.
Entonces, ' repo2 ' representa su ' master ' de una manera, mientras que ' repo1 ' representa cualquier otra twig a la que todos los demás usuarios puedan acceder.
Esto es un poco similar a este artículo GitHub Gist .

Sugiero separar el equipo de ingeniería de lanzamiento en su propia organización .
Los desarrolladores tendrán que bifurcar todos los repositorys que residen en el equipo de ingeniería de lanzamiento.
Los desarrolladores podrán comprometerse a master dentro de su organización.
Deben enviar requestes de extracción para hacer sus commits en las organizaciones de release_engineering .

Nota: acme_developers/foobar algún time convencer al cliente de que comprometerse con la twig master de acme_developers/foobar es distinto de comprometerse con la twig master de acme_release_engineering/fooba .

La solución simple es, probablemente, clonar y alojar el repository en gitolite o algún otro sistema que admita el locking de bifurcación, y configurar un enlace de postcompromiso para duplicar a su depósito github actual si tiene la intención de mantenerlo. Actualmente estamos haciendo exactamente eso con un clon github.