ejecutar el command git dentro de script bash

Estoy escribiendo gitosis post-push hook para repository central

que extrae las actualizaciones del repository central al entorno de testing

nano /var/git/repositories/holding.git/hooks/post-update

  #!/bin/bash cd /var/vh/holding; git reset --hard; git checkout testing; git pull; 

aquí lo que obtengo después de presionar a mi cliente (VM de desarrollo)

 # blah ... Counting objects: 57, done. Compressing objects: 100% (24/24), done. Writing objects: 100% (30/30), 3.42 KiB, done. Total 30 (delta 18), reused 0 (delta 0) fatal: Not a git repository: '.' fatal: Not a git repository: '.' fatal: Not a git repository: '.' fatal: Not a git repository: '.' To git@cheby.ru:holding.git 233b5a2..0f46cd8 testing -> testing 

Obviamente, mi bash de decirle a git, dónde debería hacerlo, falló.

¿Cuál es la forma correcta de ejecutar el command git para una copy de trabajo especificada en el script bash?

Como se menciona aquí o allá , puedes preceder a todos tus commands de git con:

  env -i 

para asegurarse de que no haya ningún efecto secundario con, por ejemplo, una variable de entorno GIT_DIR que podría haber sido configurada previamente.
( env -i o simplemente: unset GIT_DIR )

¿Está /var/vh/holding un repository git? es decir, ¿has ejecutado git init en él, configurado tus controles remotos, configurado para rastrear tu directory de holding.git, etc.? Además, si no está sacando del mismo repository al que está presionando, no debería necesitar el reset y el checkout .