Java Web 19 — SVN(VisualSVN、TortoiseSVN、IDEA下SVN的配置)


欢迎访问笔者个人技术博客:http://rukihuang.xyz/

一、SVN介绍

  • SVN是Subversion的简称,是一个自由开源的版本控制系统。
  • Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节
  • 早期版本控制使用的是CVS,后来SVN替代了CVS,随着android兴起,出现Git版本控制工具。

1.1 SVN基本概念

在这里插入图片描述

1.1.1 两种共享方案

  • 复制-修改-合并(默认):在这种模型里,每一个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
  • 锁定-修改-解锁:在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改。 此模式不适合软件开发这种工作。

1.2 SVN架构

在这里插入图片描述

二、SVN的使用

2.1 VisualSVN

2.1.1 下载

  • SubVersion 官网:http://subversion.apache.org/

在这里插入图片描述

2.1.2 安装与创建仓库

  • 注意路径和安装选项

在这里插入图片描述

在这里插入图片描述

  • 在开始菜单中找到VisualSVN Server Manager就可以打开图形化界面

在这里插入图片描述

2.1.3 创建工程项目

  • 右键repository -> create new repository,即可创建工程目录

在这里插入图片描述

2.1.4 权限控制

  • 右键user -> create user,即可创建用户

在这里插入图片描述

在这里插入图片描述

  • 右键group -> create new group,即可创建组,并可在该组下添加用户

在这里插入图片描述

在这里插入图片描述

  • 右键仓库 -> properties,可谓该仓库添加用户,并分配权限

在这里插入图片描述

2.2 TortoiseSVN

  • TortoiseSVN是一个基于windows系统的svn客户端图形化界面.

2.2.1 Repo-browser 浏览仓库

  • 正常情况下,浏览仓库需要输入用户名和密码。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2.2 checkout 第一次将项目从服务器下载到本地仓库

  • 第一次下载叫checkout,之后就是update

在这里插入图片描述

2.2.3 add 添加到本地仓库,交由SVN管理

  • 未经commitadd,项目不会上传至服务器

在这里插入图片描述

2.2.4 commit 将项目上传至服务器中的仓库

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2.5 update 将服务器中的内容更新到本地

在这里插入图片描述

2.2.6 更新到历史版本

  1. 通过查看更新日志,在日志中选择要回滚的版本号

在这里插入图片描述

在这里插入图片描述

  1. 直接右键选择update to revision

在这里插入图片描述

在这里插入图片描述

2.2.7 delete 标记删除

  • 标记删除后,只是在本地进行删除,commit后才能在服务器中的仓库进行删除

在这里插入图片描述

2.2.8 导入与导出

  • import:将本地资源导入到svn服务器
  • export:和checkout区别是,不存在.svn文件

2.2.9 冲突问题与解决

  • 当多个用户操作相同的文件,其中有人没有update直接commit后,其余人进行操作会出现冲突。

在这里插入图片描述

  • 手动Merge,然后重新commit

在这里插入图片描述

  • HelloWorld.java 它是服务器上的文件与本地文件合并
  • HelloWorld.java.mine 本地修改后的文件
  • HelloWorld.java.r4 修改前的文件
  • HelloWorld.java.r5 对方修改后的文件

在这里插入图片描述

2.3 IDEA下SVN配置与使用

2.3.1 配置

  • 前提是已经安装了TortoiseSVN,在IDEA -> settings中进行配置

在这里插入图片描述

2.3.2 share project

在这里插入图片描述

2.3.3 checkout

在这里插入图片描述

2.3.4 add commit update

在这里插入图片描述

2.3.5 ignore

在这里插入图片描述

在这里插入图片描述

2.3.6 冲突解决

在这里插入图片描述

在这里插入图片描述

三、SVN规范

3.1 SVN目录规范

  • 在创建仓库时,可以选择目录结构,第二个选项

在这里插入图片描述

在这里插入图片描述

  • Trunk 主干目录,此目录下的文件为基准文件
  • Branches 用于开发的分支目录
  • Tags 用于发布的版本目录

3.2 分支与标记

3.2.1 分支和标记的规范

  • 分支的定义规则: Project name+日期时间+功能点
  • Tags的定义规则: Project name+版本号
    • 版本号定义为三段数字编号 xxx.xxx.xxx
      • 第一个:革命性的产品升级版
      • 第二个:新功能版
      • 第三个:修正bug

3.2.2 打分支或标记

在这里插入图片描述

在这里插入图片描述

3.2.3 主干与分支合并

  • 需要保证主干是最新的,然后再merge

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

发布了116 篇原创文章 · 获赞 105 · 访问量 7093

猜你喜欢

转载自blog.csdn.net/weixin_43508544/article/details/102585783