“裸”git存储库:我怎样才能让Apache总是“看到”最新的提交?

我们在服务器上有一个“裸”的git仓库,用于Web门户项目。 几个程序员,devise师等等执行了几十次的push

现在我们要在服务器本身上testing这个项目,并且总是通过一个安装在同一台机器上的Apache服务器来testing最后一次提交的“裸”git仓库。

我们如何“解除”库,让工作目录始终包含最后一次提交的最后一个提交?

或其他任何旨在实现相同结果?

您可以使用post-receive钩子在您的webserver文档根目录/资源库中执行git pull

在你的裸仓库做

 mv hooks/post-receive.sample hooks/post-receive chmod +x .git/hooks/post-receive 

收到的帖子应该是这样的

 #!/bin/sh WEB_ROOT='/var/www/project' cd $WEB_ROOT git pull 

一个更优雅的解决方案 ,不涉及Web服务器区域是一个Git仓库,你也可以查看有关钩子的GIT文档

注意:如果您使用简单的解决方案,请确保您的网络服务器不提供.git目录, 这将使一些黑客/饼干访问网站的源代码!