我们在服务器上有一个“裸”的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目录, 这将使一些黑客/饼干访问网站的源代码!