我的服务器上有一个裸存储库,我将其推送到/ var / www / repos / my_project。我想设置我的工作流程,以便当我推送到所述存储库时,我的工作目录将自动更新更改。我的工作目录将是/ var / www / my_live_site。有谁知道如何做到这一点?我环顾四周,但找不到任何好的指示或资源。
答案 0 :(得分:1)
在裸存储库中安装post-update
(或post-receive
,它们等效于此目的)钩子,它将在工作目录的上下文中运行git pull
。
这意味着将脚本放到包含
的/var/www/repos/my_project/hooks/post-update
#!/bin/sh
cd /var/www/my_live_site
git pull
并使其可执行。您可能希望将其扩展为仅在主服务器被推送时运行(post-update
hook将所有推送的ref的名称作为参数,因此检查master是否在其中),如果pull失败则发送电子邮件等等,但这应该让你去。
答案 1 :(得分:0)
git archive
来更新网站,正如Jan已经建议的那样