git hook bash no funciona

trabajando duro en la configuration de mi repository de git, pero aún no he tenido éxito.

Objetivo: tan pronto como haga un push en mi repository de lokal, a la twig de desarrollo, se fusionará con Master Brench.

post-actualización (gancho)

#!/bin/bash # # An example hook script to prepare a packed repository for use over # dumb transports. # # To enable this hook, rename this file to "post-update". LOGFILE=/www/htdocs/w00dac5d/_production/.git_push_log.tmp &> $LOGFILE echo 'push-start' echo `basename $PWD` #cd ../ #echo `basename $PWD` git status git checkout master echo 'push-checkout' git merge dev exec git-update-server-info 

obteniendo errores como

"no es un repo de git" pero reviso la carpeta y es la correcta.

enter image description here

El problema aquí es que en un gancho post-update en un repository no desnudo, GIT_DIR está configurado como . y su directory actual es el directory .git . Para get más detalles sobre cada gancho de git diferente, consulte esta publicación de blog infravalorada 😉

Eso significa que si haces cd .. entonces GIT_DIR seguirá GIT_DIR . pero su directory actual ya no será el directory .git . Intenta comenzar tu script de gancho con:

 export GIT_DIR=/whereever/production/.git export GIT_WORK_TREE=/whereever/production/ 

… para estar seguro: las reglas sobre cómo GIT_DIR y GIT_WORK_TREE interactúan son difíciles.