Cómo capturar un post de compromiso de git y ejecutar una acción

Soy nuevo en git y quiero ser capaz de capturar el post de confirmación después de una inserción en el origen / maestro y ejecutar un script bash (en el server) en function de lo que contiene la cadena.

Por ejemplo, si mi post de commit de git dice: [email] my commit message

Si el post de confirmación contiene [email] , realice una acción específica; de lo contrario, no lo haga.

Aquí hay un ejemplo de script bash que estoy pensando usar en el gancho post-receive :

 #!/bin/bash MESSAGE= #commit message variable? if [[ "$MESSAGE" == *[email]* ]]; then echo "do action here" else echo "do nothing" fi 

Básicamente, todo lo que necesito saber es cuál es el nombre de la variable para el post de confirmación, para usar en el script bash anterior. Además, no estoy seguro de si este es el gancho correcto para hacer esto o no.

Creo que descubrí la respuesta a mi propia pregunta; la variable se puede get usando el command git-log :

 git log -1 HEAD --pretty=format:%s 

entonces, mi script sería:

 #!/bin/bash MESSAGE=$(git log -1 HEAD --pretty=format:%s) if [[ "$MESSAGE" == *\[email\]* ]]; then echo "do action here" else echo "do nothing" fi 

Espero que esto pueda ayudar a cualquier otra persona que esté buscando la respuesta.

Probablemente quieras un git hook para eso