, поэтому я не хочу создавать голое репо.
Я все равно посоветовал бы создать голое репо.
А затем, все еще на сервере , клон этого репо в фактическую папку "myFolder
", которая будет обслуживаться.
git clone /path/to/bare/repo.git /path/to/myFolder
(.git
в repo.git
- это соглашение об именовании для обозначения пустой репозиторий root папка)
В /path/to/bare/repo.git/hooks
добавьте исполняемый файл post-receive
(без расширения), который будет использовать cd (изменить каталог) в репозитории non-bare и извлекать из голого:
#!/bin/sh
unset GIT_DIR
cd /path/to/checkout/repository
git pull
git checkout -f