1
我们已经通过SSH使用私人git仓库一段时间了,这对我们来说工作得很好。现在,我们希望为部署代码提供只读版本,即允许远程用户检出部署代码,但无法推回到回购站。我如何自动保持两个裸git回购同步?
(这是为了让我们部署到多个生产服务器,而不需要从所有这些远程生产服务器设置为git的服务器的SSH访问权限。)
到目前为止,我已经能够克隆主从私人部分出到Web根目录和发布:
$ 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
。我如何自动更新它?我应该定期通过cron脚本运行git fetch
吗,还是在post commit commit进入?
我曾尝试符号链接,但没有运气(通常是权限问题)。显然,我刚刚尝试过的模式 - 将回购网站放在web根目录下,然后在git目录中添加一个符号链接 - 这是我没有尝试的模式,而这显然是要走的路。谢谢。 – pjmorse