版本控制

SVN 版本控制工具

版本控制

版本控制概述

新版本迭代旧版本。在开发过程中用于管理我们对文件,目录或工程的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

版本控制分类

本地版本控制–> 记录文件的每次更新,适合个人用

集中版本控制–> 所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改

分布式版本控制–> 所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有的版本历史,可以离线在本地提交,只需在联网时Push到相应的服务器或其他用户那里,由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据

常见的版本控制工具

| SCM | CVS | VSS | ClearCase | SVN |

svn版本控制工具

svn检出(SVN Checkout)

svn提交(SVN Commit)

svn更新(SVN Update)

svn图标

svn 版本控制工具概述

SVN (SubVersion) 是代码版本管理软件,它有服务端与客户端的区分,获取方式如下:

服务器端软件 visualSVN :https://www.visualsvn.com/
客户端软件:Tortoisesvn:https://tortoisesvn.net/downloads.html

其中在Tortoisesvn 软件安装完毕后,一定要重启计算机,否则svn图标是无法显示的;

svn客户端使用

版本库浏览

(1) 对服务器上的文档可以直接在服务器上操作,在本地任意位置右击选择选择“TortoiseSVN”—> “版本库浏览器”。
在这里插入图片描述

(2) 在弹出的URL输入框中输入要访问的路径
在这里插入图片描述

(3) 在URL窗口点击确定,输入用户名和密码,显示此路径下的所有内容,可以对文件进行操作
在这里插入图片描述

  1. svn检出(SVN Checkout)

    一般当你第一次从SVN服务器上下载内容时需要这么操作,操作步骤如下:

    新建一个目录,在目录里右键选中[SVN Checkout]

    在这里插入图片描述

    弹出如下界面,依次填写或核对信息,在Revision处,“HEAD revision”是指最新版,也可以指定Revision为任意一个版本
    在这里插入图片描述

  2. svn提交(SVN Commit)

    此操作一般是在对从SVN服务器上下载下来的文件,你修改之后想再次提交到SVN服务器(如果是新增的不能用这个操作,得使用“Add”);

    操作方式是在修改文件上击右键,出现菜单,选择“SVN Commit…”;然后填写关于本次更新的日志(log message),这是必填项,否则commit会失败

  3. svn更新(SVN Update)

    此操作一般是在SVN服务器上的文件有了更新变动之后,你想要获取最新的时候进行;只需选中要被更新的文件,右键选择“SVN Update”项即可;

    若有文件出现亮红,说明来自版本库的内容与你本地修改的内容在合并时出现了冲突,解决方法见下节点

  4. svn图标

    常见的SVN的图标有以下几种,如下图:

    在这里插入图片描述

    • 常规图标:表示自己电脑上的文件或者文件夹与SVN服务器上对应的文件一致,在自己电脑没有进行任何修改
    • 修改图标:当你开始编辑一个文件,这个文件的状态就会变成修改状态
    • 冲突图标:一般在同时编辑一个文件时容易出现这种冲突的现象
    • 只读图标:设置只读属性后才会出现的标识,直到你获得文件锁才能取消只读
    • 增加图标:文件或文件夹已经被计划加入到版本控制之下。通常是新建的文件或文件夹会有这个标识
    • 忽略图标:客户端文件已忽略,不需要进行提交上传,那么将自动显示以上图标(有些文件不希望上传至svn服务器)
    • 无版本控制图标:暂时还没有版本的控制,但没有被忽略

eclipse中用svn插件操作版本

  1. 解锁目录

    svn提交代码第一步是锁定开发者提交代码所在的dir(目录),这是一次代码提交阶段性的暂时性的锁,等提交操作完成了就会取消锁;这是为了保证在提交过程中不被更改;所以当我们由于强行中断进程而导致目录锁定时,eclipse报Attempted to lock an already-locked dir时,开发者只需要进行clean up 解锁上次的锁定即可;
    在这里插入图片描述

  2. SVN软件工作流程:

    1. 职员:通过客户端SVN操作
    2. 项目经理:通过服务器端SVN操作
      在这里插入图片描述
  3. SVN使用详解

    1. SVN三大指令

      1. 提交操作(Commit):
        1. 提交本地数据到服务器
        2. 在这里插入图片描述
      2. 更新操作(Update): 将修改后的代码提交至SVN服务器
  4. SVN版本回退

    1. 什么是SVN版本回退
      有些时候,软件的运行可能使开发者或使用者不满意,这时我们需要把当前版本退回到以前的某个版本。
      传统模式存储以前版本工程,及SVN软件的存储模以前版本工程,两种模式对比图:
      在这里插入图片描述
    2. 版本回退的步骤
      在这里插入图片描述在这里插入图片描述
  5. SVN版本冲突

    1. 什么是版本冲突
      在实际项目开发中,如果两个人同时修改某个文件就会产生版本冲突问题
    2. 模拟版本冲突
      在这里插入图片描述3. 解决方法
      1. 合理分配项目开发时间
        旺财 上午开发
        小强 下午开发
      2. 合理分配项目开发模块
        旺财 购物车模块
        小强 文章模块
      3. 通过SVN解决版本冲突问题
        当发生同时修改index.php发生版本冲突时,服务端显示内容:
        在这里插入图片描述 index.php:整合后的index.php文件
        index.php.mine :小强修改后的index.php 文件
        index.php.r6 : 09:00 更新时的Index.php文件
        index.php.r7 旺财修改后的index.php文件
        操作步骤:
        1. 删除除index.php以外的其他三个文件
        2. 修改整合index.php冲突文件
        3. 重新提交数据到svn服务器端,即可解决版本冲突问题
  6. 模拟真实的开发环境svn工作流程
    在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐