可以安全地在.net根目录中保留.git目录吗?

时间:2011-09-26 17:50:35

标签: git permissions

我想知道是否可以将.git目录保存在网站的Web根目录中。

.git文件夹和子文件夹的权限是775,文件是644。

我想我可以为“其他人”设置零权限,这样他们也会被拒绝访问?

由于

2 个答案:

答案 0 :(得分:5)

您应该在.htaccess目录中放置一个.git文件,其中包含以下内容:

Order deny,allow
Deny from all
这样,没有人可以访问该目录。

一般来说,如果没有问题就没有答案。如果你正在使你的项目开源,那么没有真正的问题。但如果它是一个私人项目,那么有人可以利用object目录来获取你的源代码

答案 1 :(得分:2)

如果要应用一致的策略,则应将.git目录视为私有,因为您的配置可能具有用户名和密码(对于HTTP)并引用您的测试存储库,这可能是一个不会想宣传的地点。也许你不希望别人看到你所有的发展历史....

一个不依赖于您正确拒绝访问.git目录的常见解决方案是创建一个带有post-receive挂钩的裸存储库,该挂钩部署到Web空间中的目录。然后,只需推送到该存储库即可部署最新版本。例如,有一个关于如何设置here的描述。