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. hashMap,hashTable,TreeMap,concurrentHashMap区别

    hashMap: 基于哈希表实现 treeMap: 基于二叉树实现,适用于排序 hashTable: 底层还是HashMap,在方法上加了同步 concurrentHashMap: java7底层通过 ...

  2. 进阶Java编程(3)线程的同步与死锁

    线程的同步与死锁 1,同步问题引出 在多线程的处理之中,可以利用Runnable描述多个线程操作的资源,而Thread描述每一个线程对象,对于当多个线程访问统一资源的时候如果处理不当就会产生数据的错误 ...

  3. Java lesson18homework

    package com.xt.lesson19; import java.util.Scanner;import java.util.Set;import java.util.TreeSet; /** ...

  4. NPOI_winfrom导出Excel表格(一)(合并单元格、规定范围加外边框、存储路径弹框选择)

    1.导出 private void btn_print_Click(object sender, EventArgs e) { DataTable dtNew = new DataTable(); d ...

  5. SQLite数据库_c/s架构的心得

    1.使用是Navicat Premium软件, Microsoft Windows版本. 2.选择SQLite并新建数据库: 3.将建好的SQLite数据库,放到新建的项目的debug文件下中, 并在 ...

  6. O047、 Cinder 组件详解

    参考https://www.cnblogs.com/CloudMan6/p/5585637.html   cinder-api   cinder-api 是整个Cinder 组件的门户,所有cinde ...

  7. 将xml作为输入参数传递给存储过程

    1 查看存储过程的方式 exec sp_helptext 'GetTrackingFeedLogByMaxId' select definition from sys.sql_modules wher ...

  8. ffmpeg生成视频封面图

    ffmpeg 是一个视频处理软件 php-ffmpeg 是一个让 php 可以操作 ffmpeg 的 php插件,封装好了各种操作视频的名命令.直接调用对应的方法即可. 使用过程很曲折也很简单 曲折在 ...

  9. ThreadLocal <T>类的说明 转载 原作者 lujh99

    首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...

  10. task_struct原码解读

    该结构体在linux中的路径为如下,如果是本地也可以根据以下子目录找到task_struct结构体,该结构体源码中在600多行 https://github.com/torvalds/linux/bl ...