零、介绍

每天定时备份是通过ftp打包和同步的方式,这些都是比较粗的备份,没法恢复到指定时间的文件,所以需要用到svn控制版本。

(请不要问我为什么不用git)

一、现有项目文件加入版本控制

因为项目已经在线上运行了,所以得先把运行中的文件导入到版本库,形成第一个版本。这里会遇到一个问题就是import导入的文件不会有版本号,只是在库里面,所以又要checkout回www目录(这个过程是很奇怪的)。这里解决办法是,不通过import方式导入,而是通过add方式。

1.把svn版本库中的空目录检出到www目录

#svn checkout svn://xxx.xxx.xxx.xxx/website www

2.在www目录下查询svn控制状态

#svn status

3.把www目录查询到的带问号(?)的文件和文件夹加入到svn库中

#svn add index.html

#svn commit index.html -m '这里写注释'

 二、排除不需要加入版本库的文件和文件夹

网站程序的缓存文件夹和附件文件夹因为太大,所以我不把他放到svn里面,只是用ftp备份。在svn里面具体操作如下(在www目录下):

#svn propset svn:ignore 'caches <回车> upload' .

#svn commit . -m 'set ignore'

以上部分,我的网站根目录下有两个文件夹caches和upload不需要上传,设置了忽略。(请注意后面那个句点)

三、设置httpd屏蔽访问.svn文件

因为之前的乌云上有报漏洞关于.svn文件泄露导致网站被攻击的情况,所以还是需要把网站目录下的.svn访问权限给屏蔽。

通过 httpd 的 Location 匹配限定访问:

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

参考:http://httpd.apache.org/docs/2.4/mod/core.html#location

生产项目加入到SVN版本控制的更多相关文章

  1. [转]将已有项目代码加入svn版本控制

    原文链接:https://blog.csdn.net/aaroun/article/details/79074178 将已有项目代码加入svn版本控制 - TortoiseSVN入门篇Windows下 ...

  2. SVN将项目代码加入svn版本控制

    将已有项目代码加入svn版本控制 - TortoiseSVN入门篇Windows下SVN实用教程(以TortoiseSVN作为客户端(client)) 翻译: Bravo Young Next: 版本 ...

  3. idea 开发 webpack项目时,只要已加入SVN 版本控制 一直 updating 问题解决

    场景描述,这是一个困扰我很久的一个问题,一直百度,都解决不了,今天自己通过设置终于解决了,慢慢的都是辛酸泪,赶快写个笔记记录一下. 对于idea 开发 vue-cli+webpack 项目,idea  ...

  4. 使用命令行 Subversion 访问项目源文件(SVN)

    from:http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn 命令行 Subversion 入门 如果您参与的项目 ...

  5. SVN版本控制工具使用学习

    SVN版本控制工具使用学习 Subversion是优秀的版本控制工具. 1.下载和搭建SVN服务器 http://subversion.apache.org/packages.html 类型有5种,推 ...

  6. 取消svn版本控制

    删除项目中的版本控制,即删除项目文件夹下的所有.svn文件夹(在做项目的时候,有时候想把项目拷回去看看,但是文件太大了,而且压缩起来很慢.这主要是因为在项目中有大量的.svn文件夹.所以才想把.svn ...

  7. 如何在一个ubuntu系统上搭建SVN版本控制工具

    有话说,由于公司项目部署需要,将Windows工程迁移到Linux,通过调查确定使用Ubuntu的Linux操作系统.那么如何快速搭建和Windows一样快捷方便的开发环境就很重要了.本文讲述如何在一 ...

  8. SVN版本控制说明与相关指令

    SVN版本控制说明 目的 多个版本中并行开发,提高开发效率: 保证各个版本和各个环境(开发.测试.主干)的独立,避免相互影响: 通过分支与主干的合并,这样主干永远是最新.最高版本,并且都在后面的测试中 ...

  9. VS清除打开项目时的TFS版本控制提示

    原文:http://blog.useasp.net/archive/2015/12/15/how-to-permanently-remove-vs-project-TFS-source-version ...

随机推荐

  1. cocos2d-x 开发时的注意点

    转自:http://cjhworld.blog.163.com/blog/static/20707803620132693629307/ 1.       按照Cocos2d的编程风格,尽量少用构造函 ...

  2. Codeforces Round #323 (Div. 1) B. Once Again... 暴力

    B. Once Again... Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/582/probl ...

  3. esui控件validatebox 通过正则判断输入 json传值

    <td> @Html.TextBoxFor(m => m.ActualInvoiceFee, new { @id = "txtActualInvoiceFee", ...

  4. 每天进步一点点——负载均衡之DNS域名解析

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/38017027     在上一篇文章(http://blog.csdn.net/cywosp/ ...

  5. Mysql性能调优

    在MYSQL命令行客户端添加 \G 语句终止符可以让返回的结果集垂直显示. 一.查找运行缓慢的 SQL语句 :show full processlist ; 二.生成一个查询执行计划(Query Ex ...

  6. linux文件 编辑常用 inux手把手vi ---针对文件操作

    命令语法 说明 使用频率(1:常用;2一般:3:偶尔) 1.VI编辑器的启动与退出 VI编辑器的启动与退出 vi  file1 新建一个文本文件名为file1 :q 退出,如果对缓存去进行过修改,则提 ...

  7. nginx---reference

    nginx (pronounced "engine x") is a free open source web server written by Igor Sysoev, a R ...

  8. Maven学习小结(一 初探)

    1.下载Maven,解压并设置到环境变量中 https://maven.apache.org/download.cgi 需要先设置“JAVA_HOME”,否则报错: 之后查看Maven版本成功: 1. ...

  9. Objective-C中系统宏的用法总结

    先说一下本文中会提到的内容:##,__VA_ARGS__, __FILE__, __LINE__ , __FUNCTION__等 宏变量: 先举一个例子,会用到上面这些宏: #define mypri ...

  10. 数据结果与算法分析(1)——算法分析

          在确定一个算法正确的同时,也要保证算法的有效性.算法分析的最重要的标准时运行时间T(N),运行时间与输入元素个数N有关. 数学基础         T(N) = O(f(N)) 表示T(N ...