Прежде всего, вы можете захотеть использовать хук post-receive вместо пост-обновления. Согласно справочной странице githooks (5) , пост-получение заменяет пост-обновление.
Тем не менее, ваш скрипт-ловушка выполняется в подкаталоге .git / hooks, так что если вы выполните простую
cd ..
ваш скрипт находится в рабочем дереве репозитория git. Например, вот небольшой скрипт, который гарантирует, что рабочее дерево удаленного репозитория git обновляется всякий раз, когда вы отправляете в репозиторий:
#!/bin/sh
export GIT_DIR=
cd ..
echo "Resetting working tree..."
git reset --hard
echo "Finished resetting working tree."
Обратите внимание, что вам нужно отключить переменную среды GIT_DIR; он устанавливается автоматически, и до тех пор, пока он установлен, все команды git будут выполняться в этом каталоге - независимо от того, куда вы перешли.