Как автоматически синхронизировать два репозитория git? - PullRequest
1 голос
/ 12 сентября 2011

Мы уже давно используем частные репозитории 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-скрипты, или это происходит после перехвата после фиксации?

1 Ответ

2 голосов
/ 13 сентября 2011

Для этого и нужны хуки, но если они оба на одной машине, я бы лично использовал символическую ссылку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...