使用git安全性部署网站

时间:2009-05-26 18:09:24

标签: git deployment

我的网站受版本控制。为了便于将其部署到服务器,我正在考虑将repo克隆到服务器,每当我想更新页面时,只需从服务器中提取更改。从安全的角度来看,将这个.git文件夹放在网络服务器上是一个坏主意吗?

2 个答案:

答案 0 :(得分:4)

您可以在.git中放置任意文件,例如.htaccess文件,这会阻止通过网络服务器进行任何访问。

如果您需要额外的安全层(例如,如果您忘记在重新列入存储库时忘记放置.htaccess),您可以让您的网络服务器拒绝提供.git/的任何网址通过使用mod_rewrite(如果您使用Apache,其他Web服务器将使用其他机制)。

答案 1 :(得分:3)

使用git --git-dir=... checkout .之类的内容这使您可以在html树之外拥有.git目录。您甚至可以通过添加--work-tree

来使用裸仓库
git --git-dir=... --work-tree=... checkout

使用裸仓可以避免使用树的冗余副本,并且最好能够推入。

同样可以使用环境变量指定。 git手册页包含详细信息。