Incapaz de get el nombre correcto de la twig de git en bash

Estoy trabajando en la recepción posterior de mi server git para que cargue automáticamente la última versión de mi website en una carpeta con el nombre de la twig en la que se realizó la confirmación, pero de alguna manera este código no funciona como se esperaba.

De alguna manera, mi twig de valor obtiene los valores de todas las twigs en lugar de la twig que trato de get. Hash obtiene el código hash correcto. Lo he probado fuera del progtwig, también lo hago cuando escribo el hash correcto. ¿Utilicé la syntax incorrecta en este progtwig?

#!/bin/sh hash=$(git log -n 1 --pretty=format:"%h") branch=$(git branch --contains $(git log -n 1 --pretty=format:"%H")) if [ branch ] then GIT_WORK_TREE="/data/site/'$branch'" echo "/data/site/'$branch'" git checkout -f $branch fi 

De acuerdo, ¡lo hice funcionar como quería! Después de enterarme de que el post-receive obtuvo el nombre de ref como stdin, me enteré de que tenía que recortar refname para get solo el nombre de la twig y obtuve este código. Gracias chicos. 🙂

 #!/bin/sh while read oldrev newrev refname do branch=${refname##*/} if [ branch ] then path="/data/site/$branch" mkdir $path unset GIT_INDEX_FILE export GIT_WORK_TREE=$path git checkout -f $refname echo "Successfully pushed to $path" fi done