Escritura posterior a la actualización de Git hook pero sin actualizar el tree de trabajo

Estoy tratando de hacer que git auto implemente a diferentes directorys dependiendo de una twig que fue presionada. Tengo un repository remoto simple, un repository local y dos directorys en los que busco los datos que se implementarán y actualizarán con cada inserción desde el repository local al remoto. He agregado gancho post-actualización:

#!/bin/sh echo $1 echo "*UPDATE*" case " $1 " in *'refs/heads/develop'*) GIT_WORK_TREE=/home/git/public_html/example_deploy_dev git checkout develop webroot echo echo "Dev was pulled" echo ;; esac case " $1 " in *'refs/heads/master'*) GIT_WORK_TREE=/home/git/public_html/example_deploy git checkout master webroot echo echo "Master was pulled" echo ;; esac 

Se implementa muy bien en la creación del primer file, pero no lo actualiza cuando se cambia en los directorys que se implementan. ¿Dónde extraño a smth? ¡Gracias!

La secuencia de commands habitual para un enlace de actualización posterior es:

 #! /bin/sh update_master() { GIT_WORK_TREE=/home/git/public_html/example_deploy_dev git checkout master -- webroot } update_develop() { GIT_WORK_TREE=/home/git/public_html/example_deploy_dev git checkout develop -- webroot } for ref do case "$ref" in refs/heads/master) update_master;; refs/heads/test) update_test;; *) ;; # ignore other branches esac done 

Como ese enlace "toma una cantidad variable de parameters, cada uno de los cuales es el nombre de la reference que se actualizó realmente", no puede confiar solo en $1 .

Tratar:

checkout -f

 #! /bin/sh update_master() { GIT_WORK_TREE=/home/git/public_html/example_deploy_dev git checkout -f master -- webroot } update_develop() { GIT_WORK_TREE=/home/git/public_html/example_deploy_dev git checkout -f develop -- webroot } for ref do case "$ref" in refs/heads/master) update_master;; refs/heads/test) update_test;; *) ;; # ignore other branches esac done