Tudo bem, eu fiz um script que evita o uso de um repositório não-nu e receive.denyCurrentBranch ignore
#!/bin/sh
# DIR VARS
DIR_GIT="/home/my_user/gitrepos/my_repo.git"
DIR_HTTP="/home/my_user/public_html/my_website"
unset GIT_DIR
# Recreate HTTP dir
rm -rf $DIR_HTTP
mkdir $DIR_HTTP
# Clone git repository
git clone $DIR_GIT $DIR_HTTP
# import submodules
cd $DIR_HTTP
git init --bare $DIR_HTTP
git submodule init
git submodule update
# delete unnecessary git repository in http dir
rm -rf $DIR_HTTP/.git
Quaisquer melhorias são bem-vindas