我的网站受版本控制。为了便于将其部署到服务器,我正在考虑将repo克隆到服务器,每当我想更新页面时,只需从服务器中提取更改。从安全的角度来看,将这个.git文件夹放在网络服务器上是一个坏主意吗?
答案 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
手册页包含详细信息。