2011-10-19 38 views
4

我想直接从git存储库提供网站。很显然,这将使更新在线服务器变得非常简单 - 如果我有新代码的问题,我可以切换回到以前的分支。将git存储库用作网站根文件夹

是否有任何安全问题?

我是否需要向apache添加任何指令?

是否有任何非安全相关的问题我应该知道?

编辑:请参阅下面侃的答案 - 这里是为了保护git的文件夹,因为我想在混帐回购

<Files ~ "^\.git"> 
    Order allow,deny 
    Deny from all 
</Files> 

回答

3

的顶层设置根文件夹只有一个令人关注的指令 - 中.git文件夹。但是git将它存储在回购根目录中。如果您将您的网页暴露文件夹作为回购的子文件夹,它将很好地工作,不需要任何额外的配置。文件结构将是:

myProj -+ 
     +-- .git 
     +-- www-files 
     ... 
     +-- someStuff 

因此,有完全没有问题从网络服务器暴露www-files

有使用,而不是SVN的great story ...

+0

所以我也可以限制访问任何.git文件夹在http conf? – Boz

+0

当然可以,但重点是:如果您将http'document root'指向'www-files',这不是必需的,它简化了部署和配置。 – kan

+0

Web服务器永远不会从文档根目录中提取,因此它不会访问'.git'。 – kan

0

不知道你正在使用什么技术,但它可能并非一切都需要部署到实时Web服务器的情况下(如被编译的文件,调试页面等)。

你可能会更好地投入你的时间在一个步骤,它会自动创建你的'部署'网站从git仓库,然后可以通过FTP推送。

+0

FTP将推送所有文件,但'git pull'只传送更改。它节省了大量的时间和流量。几乎总是可以组织一个源代码,以便一个文件夹可以清理非活动内容。 – kan

+0

鉴于当天的连接,不确定它会对时间/流量产生严重影响,除非您经常更新您的网站。但是对于他们自己。 – Paddy

+0

我会去git - 因为如果发布失败,我可以快速切换分支。当我使用SVN时,我使用rsync而不是ftp。但那只是另一个步骤。在服务器上运行git pull会更简单。 – Boz

相关问题