SVN之快速入门

322 阅读5分钟

SVN之快速入门

一、SVN概述

SVN是Subversion的简称,是一个开源的版本控制系统。

Subversion将文件存放在中心版本库里,版本库像是一个普通的文件服务器。

版本库可以记录每一次文件和目录的修改情况,可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。

SVN是一种集中式管理代码的版本控制系统,原理就是把代码都保存到一个固定的位置(仓库),每次从这个位置拷贝更新代码,进行编辑;再把修改后的代码提交到该目录中。因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的服务端——VisualSVN Server。还需要一个用户的操作端,用于提交更新检出代码,常用的有idea的Svn插件,以及TortoiseSVN(小乌龟)。

在这里插入图片描述

二、SVN的使用

1.下载软件

①.SubVersion官网 ,下载VisualSVN服务端和TortoiseSVN客户端。

下载VisualSVN服务端

在这里插入图片描述

下载TortoiseSVN客户端及其语言包

在这里插入图片描述 在这里插入图片描述

2.安装VisualSVN服务端

在这里插入图片描述

若安装出现2503,2502错误提示,是由于权限不足的原因,通过 :“ msiexec /package 安装包路径”  该方式安装。

在这里插入图片描述

初始界面

在这里插入图片描述

创建工程目录

在这里插入图片描述

创建用户

在这里插入图片描述

创建组,向组添加成员

在这里插入图片描述 在这里插入图片描述

分配权限,对成员或组分配相应权限

在这里插入图片描述 在这里插入图片描述

3.安装TortoiseSVN客户端

基本是一键式地傻瓜安装,但切近需要将command line dent tools选择为Will be installed on local hard drive

0db60b5648e1ad362461696b32474cf3.png

三、Tortoise SVN常用操作

1.浏览仓库

在这里插入图片描述

输入工程项目版本控制仓库地址

在这里插入图片描述

正常情况下,在浏览仓库时会要求录入username与password进行认证

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

可以清空svn客户端的缓存数据

在这里插入图片描述

2.checkout检出操作

右键SVN检出,检出svn服务器上的项目

在这里插入图片描述

在这里插入图片描述

3.add添加操作

创建一个文件,右键TortoiseSVN ->增加 ,将该文件交由svn管理

在这里插入图片描述 在这里插入图片描述

4.commit提交操作

右键SVN提交,将添加到svn管理的文件提交到svn服务器

在这里插入图片描述 在这里插入图片描述

5.update更新操作

update更新操作,将svn服务器上的内容更新到本地

6.更新到历史版本

查看提交记录日志,右键Tortoise SVN->显示日志,在日志列表选择某个日志版本进行检出回退。

在这里插入图片描述

7.delete删除操作

标记删除操作,本地文件会删除,进行提交后,才能真正从服务器删除。

在这里插入图片描述

8.revert还原操作

当对某个文件进行了修改后,想恢复到未修改状态时,可以使用revert还原操作

在这里插入图片描述 在这里插入图片描述

9.Import与Export操作

Import:将本地资源导入到svn服务器,Export:导出项目,和checkout的区别是它不存在.svn隐藏文件

在这里插入图片描述

9.冲突与解决

当多个用户同时操作同一个文件时,就可能产生冲突,产生冲突后可采用手动Merge合并方式,解决冲突后,重新commit。

浏览版本库,修改文件内容。

在这里插入图片描述

在项目工程文件夹中修改文件提交,此时将产生冲突,需要先更新解决冲突。

在这里插入图片描述 在这里插入图片描述

新建文本文档.txt :它是服务器上的文件与本地文件合并

新建文本文档.txt.mine :它是本地修改后的文件

新建文本文档.txt.r4 :它是修改前的文件

新建文本文档.txt.r5 :它是对方修改后的文件

.

选择冲突文件,右键TortoiseSVN->选择编辑冲突。

在这里插入图片描述

解决冲突后,点击按钮:标记为已解决,此时再执行提交操作。

在这里插入图片描述

四、SVN在IDEA中的配置与使用

1.配置SVN

 在idea中使用Svn首先需要安装了TortoiseSVN,然后进行配置。

在这里插入图片描述

2.share project操作

将一个项目工程添加到svn仓库

在这里插入图片描述

添加svn仓库地址,以及输入该仓库分配的有权限的账户登陆认证

在这里插入图片描述

选择该项目工程放在那个目录结构

在这里插入图片描述

项目工程添加svn后,就会出现一系列与svn操作相关的菜单。

常用操作菜单:

1.Update Project :从svn服务器获取变化文件,更新项目

2.Commit changes: 提交项目上所有变化文件到svn服务器

3.Compare with the Same Repository Version :当前文件与服务器上该文件某版本的内容进行比较。

4.Show history :显示当前文件的历史记录

5.Revert :还原当前被修改的文件到未修改的版本状态下

6.Local Changes: 本地修改过的文件都会出现在这里

7.Repository svn:仓库所有提交记录

8.Incoming :本地还没有更新的别人提交的代码

在这里插入图片描述在这里插入图片描述在这里插入图片描述

3.commit操作

提交项目上所有变化文件到svn服务器

在这里插入图片描述在这里插入图片描述

4.Update Project操作

从svn服务器获取变化文件,更新项目

在这里插入图片描述

5.checkout操作

 从svn服务器checkout检出项目

在这里插入图片描述 在这里插入图片描述

6.ignore操作

将文件/目录添加忽略标记,提交时自动忽略标记文件/目录

在这里插入图片描述

7.冲突与解决

Incoming :本地还没有更新的别人提交的代码

在这里插入图片描述

产生冲突,一般merge合并手动进行解决冲突

在这里插入图片描述在这里插入图片描述

8.查看提交历史

image-20230508105346057.png

五、SVN规范

1.SVN目录规范

在visualSVN中创建仓库时,可以选择svn目录结构

在这里插入图片描述 在这里插入图片描述

Branches :用于开发的分支目录,在某个完成的项目上添加一个新模块,此时就可以开发一个分支,开发完成合并到主分支。

Trunk :主干目录,此目录下的文件为基准文件。

Tags :用于发布的版本目录,对某一阶段完成的项目打一个Tags。

2.分支与标记

分支的定义规则: 项目名+日期时间+功能点

Tags的定义规则: 项目名+版本号

版本号定义为三段数字编号: xxx.xxx.xxx 第一个:革命性的产品升级版 第二个:新功能版 第三个:修正bug

打分支或标记

在这里插入图片描述 在这里插入图片描述

创建分支成功后,trunk主干中的文件将克隆一份到branches分支里

在这里插入图片描述

3.分支合并到主干

先在分支添加"分支文件.txt",且主干没有该文件,同时提交至SVN服务器

在这里插入图片描述

保证分支是最新的,在主干这边进行合并操作

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

合并成功后,分支的“分支文件.txt”就合并到了主干上。

在这里插入图片描述