Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;裸;git repository:我怎样才能让Apache始终;见;最近的承诺?_Apache_Git - Fatal编程技术网

&引用;裸;git repository:我怎样才能让Apache始终;见;最近的承诺?

&引用;裸;git repository:我怎样才能让Apache始终;见;最近的承诺?,apache,git,Apache,Git,我们在服务器上有一个用于Web门户项目的“裸”git存储库。几个程序员、设计师等。。。执行数十次推送和拉送操作 现在,我们希望在服务器本身上测试项目,并始终通过安装在存储“裸”git存储库的同一台机器上的ApacheWeb服务器测试最后一次提交 我们如何“取消绑定”存储库,并让工作目录始终包含和仅包含从最后一次推送中派生的最后一次提交 或者其他任何旨在实现相同结果的方法?您可以使用post接收钩子在webserver文档根目录/存储库中执行git pull 在您的裸存储库中 做 post rec

我们在服务器上有一个用于Web门户项目的“裸”git存储库。几个程序员、设计师等。。。执行数十次推送和拉送操作

现在,我们希望在服务器本身上测试项目,并始终通过安装在存储“裸”git存储库的同一台机器上的ApacheWeb服务器测试最后一次提交

我们如何“取消绑定”存储库,并让工作目录始终包含仅包含从最后一次
推送中派生的最后一次提交


或者其他任何旨在实现相同结果的方法?

您可以使用post接收钩子在
webserver
文档根目录/存储库中执行
git pull

在您的裸存储库中 做

post receive应该类似于

#!/bin/sh
WEB_ROOT='/var/www/project'
cd $WEB_ROOT
git pull
更优雅的是,不需要将web服务器区域作为git存储库,您还可以查看有关的git文档


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

谢谢您的安全提示,但没关系,因为服务器不在服务器上Internet@gd1当前位置不要忘记,大多数攻击也来自内部,即您公司的一些员工。安全总比抱歉好,禁止访问
.git
目录只占用Web服务器配置文件中的一行。
#!/bin/sh
WEB_ROOT='/var/www/project'
cd $WEB_ROOT
git pull