configure git para aceptar solo inserción bien formateada y documentada

En nuestra oficina, uno de los mayores problemas de trabajar con un equipo es obligarlos a usar una forma estándar de documentar y formatear el código.

Me preguntaba, ¿hay alguna manera de configurar git (ya sea github o un server git privado) para permitir SOLAMENTE las confirmaciones que tengan cierta documentation y formatting de estructura de código? EG: todas las funciones de php deben estar documentadas con phpdoc, todos los corchetes de apertura deben estar en la misma línea de las definiciones de function, etc.

En resumen, ¿se puede configurar un server de git para analizar algunos files antes de aceptar un push para obligar a los usuarios a formatear todo el código de acuerdo con un estándar?

EDITAR :

Esto es exactamente lo que estaba buscando:

https://github.com/s0enke/git-hooks/tree/master/phpcs-pre-commit

Es un gancho de precomisión de git que ejecuta la biblioteca PHP_CodeSniffer Pear para verificar si el código que intentamos seguir sigue los estándares de encoding.

Creo que este es un buen enfoque de lo que estaba buscando:

https://github.com/s0enke/git-hooks/tree/master/phpcs-pre-commit

Se basa en ejecutar PHP_CodeSniffer como un enlace de precompromiso. El cliente de git permitirá la confirmación solo si las testings de PHP_CodeSniffer son exitosas.