我正在做svn更新来更新我的PHP网站的代码,但它留下了.svn/
文件夹。
我认为将这些文件公开地读取是危险的,但是它很容易更新系统。
有没有办法使用svn update
来更新系统,但不导出.svn/
文件夹?
如果你使用的是Apache:
<Directory ~ "\.svn"> Order allow,deny Deny from all </Directory>
这将阻止人们远程访问.svn
目录(使用浏览器),但是你可以保持(和svnfunction)在项目上。
顺便说一句,如果您使用的是不同于subversion的东西,您可以用\.svn
replace\.svn
\.git
或\.cvs
。
你应该改变Apacheconfiguration,以便它拒绝访问.svn文件夹。 这个线程有更多的信息https://stackoverflow.com/questions/398008/deny-access-to-svn-folders-on-apache
你想从SVN导出你的代码到现场…
不要使用svn update
。 更新是用于更新工作副本,而不是导出代码。 使用svn export
而不是从指定的存储库中导出干净的目录树。
--force
标志将允许导出覆盖现有的文件。
SVN导出手册条目
我不把他们放到生产/现场。 因为我不希望我和/或其他开发人员忘记编辑实时代码的坏主意。 我的安装脚本过滤我的.svn文件。
你应该考虑一个适当的部署系统,如Capistrano 。 这意味着您的生产服务器不需要颠覆,您可以部署到多个服务器并将自定义逻辑添加到部署中。 这也使得回滚部署变得相对容易。