SVN是什么?

  svn是Subversion的简称,是一个开源的代码版本控制系统,svn就是用于多人共同开发同一个项目,达到资源共用目的工具。

版本控制是什么?

  版本控制(Revision control)是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。可记录每个版本的信息,方便问题追踪。同时版本控制还支持并行开发,可有效的提高开发效率

为什么要使用SVN

  1、项目备份方便,节省硬盘空间;
  2、记录每个版本,方便追溯历史纪录。
  3、多人协作开发,共享数据;
  4、细节化的权限控制,便于管理员掌控项目整体

SVN基本操作认识:

  1、 svn工作流程和架构图;

    a) svn工作方式:

  

    b) svn架构图:

  

  

  2、 svn服务器、客户端的获取与安装:

    a) 服务端:https://www.visualsvn.com/server/download/

    b) 客户端:https://tortoisesvn.net/downloads.html

    

    服务端默认端口号443或8443,安装完成后可以在C:\Program Files\VisualSVN Server\bin目录中找到VisualSVN Server.msc服务端图形化应用窗口程序

    客户端TortoiseSVN-1.10.2.28392-x64-svn-1.10.3默认安装完成后,在文件夹中单击右键出现SVN Checkout...或TortoiseSVN后表示安装成功!【没有的话重启】

  3、 svn服务器目录结构、用户和权限;

    a) 目录结构:

      i.Repositories 仓库:存放被svn管理的项目文件,可以存放源码,文档等;

      ii. Users 用户:创建和编辑用户;

        iii. Groups 权限组:创建和编辑用户组;

    b) 创建仓库:

      标准文件夹结构:

        1)branches 分支:如果需要测试新技术,或者大范围修改,将主干代码拷贝到分支中进行,测试无误后可以合并到主干中

        2)tags 发布:发布版本要放到tags中;

        3)trunk 主干:主要开发目录;

    c)创建用户:每个开发人员都需要拥有自己的svn账号;

    d)创建组:为每个部门配置不同的权限,便于管理;

    e)分配权限:在仓库或者目录中为用户/组分配权限;

  4、svn常用操作:

    a)checkout 检出:初次下载 - 第一次连接svn服务器时候需要下载对应仓库的数据(如果仓库中有数据的话);

    b)add 新增:新增数据到svn服务器;

    c)update 更新:更新数据 - 检查svn服务器中的数据是否与本地的数据一致,如果不一致就下载改变/新增部分,同时不会删除本地数据;

    d)delete 删除:删除svn的数据(需要搭配commit命令);

    e)revert 回滚:将指定版本的代码回滚到本地,如要提交到服务器需要搭配commit命令;

    f)代码冲突: 在多人同时开发一个类,提交的时候容易出现代码冲突,也可以理解为版本冲突;

    

    g)其他操作:

      i.下载指定版本号的文件;

      ii.代码对比工具;

      iii.账号保存与注销;

iv.按照版本检出;

SVN_SVN的基本认识的更多相关文章

随机推荐

  1. Collections 类和Arrays类常用方法详解

    1:Collections类 max(Collection <? extends T> coll):根据元素的自然顺序,返回给定集合元素中的最大元素 min(Collection < ...

  2. js之数据类型(对象类型——构造器对象——数组1)

    数组是值的有序集合,每个值叫做一个元素,而每一个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型的,数组元素可以是任意类型且同一个数组中不同元素也可能有不同的类型.数组的 ...

  3. 阿里巴巴开源框架java诊断工具--Arthas

    下载:arthas wget https://alibaba.github.io/arthas/arthas-boot.jar java -jar arthas-boot.jar --target-i ...

  4. RPC性能优化

    优化 1:元数据共享 hessian 序列化会将两种信息写到输出流: 元数据:即类全名,字段名 值数据:即各个字段对应值(如果字段是复杂类型,则会递归传递该复杂类型 的元数据和内部字段的值数据) 在 ...

  5. Nginx作为静态资源web服务之防盗链

    Nginx作为静态资源web服务之防盗链 首先,为什么需要防盗链,因为有些资源存在竞争对手的关系,比如淘宝的商品图片,不会轻易的让工具来爬虫爬走收集.但是如果使用防盗链,需要知道上一个访问的资源,然后 ...

  6. 利用协程和socket实现并发

    服务端代码 from gevent import monkey monkey.patch_all() from gevent import spawn import socket def commun ...

  7. Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

    Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported告诉你,你的请求头是application/x- ...

  8. ubuntu学习笔记-tar 解压缩命令详解(转)

    tar 解压缩命令详解 -c: 建立压缩档案 -x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能 ...

  9. JS 函数相关的声明调用

    // 函数声明方法一 function f (a, b) { return a + b; } // 函数调用 console.log(f(1, 4)); // 函数声明方法二 var num = fu ...

  10. u-boot-2018.09 DTS上 I2C节点的解析 (转)

    这篇理下uboot上I2C总线挂载设备的整个流程. 其他总线(如SPI等)应是类同的思路. uboot 中,以max8997挂载到s3c24xx i2c总线为例, dts里面的写法如下 aliases ...