Los ganchos de pre-recepción ejecutan pruebas en código que se suben a un repositorio para asegurar que las contribuciones cumplan con las políticas del repositorio o de la organización. Si los contenidos del commit pasan las pruebas, se aceptará el push en el repositorio. Si los commits no pasan las pruebas, el push no será aceptado.
Si tu push no es aceptado, verás un mensaje de error correspondiente al hook de pre-receive fallido.
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 916 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: always_reject.sh: failed with exit status 1
remote: error: rejecting all pushes
To https://54.204.174.51/hodor/nope.git
! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://54.204.174.51/hodor/nope.git'
El administrador del sitio de tu GitHub Enterprise Server puede crear y eliminar ganchos de recepción previa para tu organización o repositorio y puede permitirle a los administradores de la organización o del repositorio habilitar o deshabilitar ganchos de recepción previa. Para más información, consulta Requerir políticas para los ganchos de pre-recepción.