El gancho post-recepción de Git actúa de manera diferente al caparazón

Estoy tratando de configurar un repository git en mi server en vivo para actualizar automáticamente un subdominio en recibir. Usando esta guía http://toroid.org/ams/git-website-howto .

ganchos / post-recepción

#!/bin/sh pwd git checkout -f 

config

 [core] repositoryformatversion = 0 filemode = true bare = false worktree = /var/www/vhosts/domain.com/subdomains/staging/httpdocs [receive] denycurrentbranch = ignore 

Si ejecuto git checkout -f en /var/git/domain.com.git/, el subdominio se actualiza. Sin embargo, cuando presiono obtengo el siguiente resultado:

 /var/git/domain.com.git fatal: This operation must be run in a work tree 

No estoy seguro de por qué esto funciona en el caparazón, pero no en el gancho. ¿Alguien puede iluminarme?

agregue cd /var/www/vhosts/domain.com/subdomains/staging/httpdocs a su gancho post-recieve.

Los permissions en el tree de trabajo no permiten que se lea, lo que causa la fatal: This operation must be run in a work tree error de fatal: This operation must be run in a work tree .