Мы уже давно используем частные репозитории git через SSH, и у нас это работает очень хорошо.Теперь мы хотим сделать доступными только для чтения версии для развертывания кода, то есть позволить удаленному пользователю проверять код для развертывания, но не иметь возможности вернуться к хранилищу.
(Это предназначено для того, чтобы мы могли развертываться на нескольких производственных серверах без необходимости настраивать SSH-доступ к git-серверу со всех этих удаленных производственных серверов.)
До сих пор я был в состоянииклонировать первичную часть из закрытого раздела в корневой каталог и опубликовать ее:
$ cd /path/to/web/root/git
$ git clone --bare /repos/git/project-name project-name.git
$ cd project-name.git
$ touch git-daemon-export-ok
$ git --bare update-server-info
$ mv hooks/post-update.sample hooks/post-update
... но теперь результирующее репо в /path/to/web/root/git/project-name.git
обречено на бесполезность, если только оно не будет обновлено изосновной, и я не собираюсь запускать git fetch
вручную каждый день.Как мне автоматически обновить его?Должен ли я регулярно запускать git fetch
через cron-скрипты, или это происходит после перехвата после фиксации?