git - ocean - husky angular
PostCommit Hook no se está ejecutando (3)
Dejaré esto aquí como respuesta porque me encontré con mi propia respuesta para cuando mi gancho post-commit no se ejecutara:
chmod +x .git/hooks/post-commit
Probablemente se aplica a cualquier tipo de gancho. De hecho, probablemente se aplique a cualquier tipo de script.
Mi enlace de confirmación de publicación no se está ejecutando después de git. He verificado que el gancho funciona si solo lo ejecuto desde la terminal. El código en el gancho es:
#!/bin/sh
#.git/hooks/post-commit
# An example hook script that is called after a successful
# commit is made.
#
# To enable this hook, rename this file to "post-commit".
perl -pi -e ''s/([a-f0-9]+)$/''$( git rev-parse HEAD )/ ../../config/commit.git
Cambié el nombre del archivo para postcompromiso en ./.git/hooks/ y los permisos son -rwxr-xrx
así que no estoy seguro de por qué no funciona.
Intenta poner algunas líneas de eco antes y después de la línea perl como esta:
echo "post-commit started"
perl ...........
echo "post-commit finished"
De esta forma puede confirmar si el script se está ejecutando en realidad, porque cuando ejecuta
git commit
debería ver
post-commit started
post-commit finished
Hacia el final de su salida.
Mi script post-commit no fue llamado porque:
Yo había nombrado el script post-commit.sh
, en lugar de simplemente post-commit
.
Para habilitar una secuencia de comandos de enlace, coloque un archivo en el subdirectorio hooks de su directorio .git que tenga el nombre apropiado (sin ninguna extensión) y que sea ejecutable. Desde ese punto en adelante, debe ser llamado. Cubriremos la mayoría de los principales nombres de archivos de enlaces aquí. Ver git-scm
No estoy seguro de por qué tenía en mi cabeza que los enganches necesitaban la extensión de archivo bash.
Tampoco me di cuenta de que los scripts de gancho no pueden tener extensiones de archivo.
Espero que esto ayude a alguien.