在实时站点上有 /.svn/ 文件夹安全吗?(如何删除它们但保留 svn 更新功能?)

在实时站点上有 /.svn/ 文件夹安全吗?(如何删除它们但保留 svn 更新功能?)

我正在执行 svn update 来更新我的 php 网站的代码,但是它却.svn/在各处留下了文件夹。

我认为让这些文件公开可读是危险的,但更新系统非常容易。

有没有办法可以用来svn update更新系统,但不导出.svn/文件夹?

答案1

如果你正在使用 Apache:

<Directory ~ "\.svn">
    Order allow,deny
    Deny from all
</Directory>

这将阻止人们.svn远程访问目录(使用浏览器),但您可以将其(和 svn 功能)保留在项目中。

顺便说一句,你可以用 subversion\.svn来替代\.git,或者\.cvs如果你使用与 subversion 不同的东西。

答案2

你应该更改 apache 配置,以便它拒绝访问 .svn 文件夹。此线程有更多信息https://stackoverflow.com/questions/398008/deny-access-to-svn-folders-on-apache

答案3

您想要将代码从 SVN 导出到实时网站...

不要svn update为此使用。更新用于更新工作副本,而不是导出代码。请使用svn export它,因为它会从指定的存储库导出干净的目录树。

--force标志将允许导出覆盖现有文件。

SVN 导出手动输入

答案4

您应该研究适当的部署系统,例如卡皮斯特拉诺。这意味着您的生产服务器不需要 subversion,您可以部署到多台服务器并向部署中添加自定义逻辑。这也使得回滚部署变得相对容易。

相关内容