SVN之快速入门

513 阅读6分钟

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客户端及其语言包

TortoiseSVN安装后需要重启电脑,否则TortoiseSVN的相关图标可能会显示异常

在这里插入图片描述

语言包安装完毕后,右键菜单TortoiseSVN->Settings中选择安装的语言包

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

三、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合并手动进行解决冲突

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

五、SVN规范

1.SVN目录规范

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

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

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

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

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

2.分支与标记

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

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

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

打分支或标记

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

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

在这里插入图片描述

3.分支合并到主干

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述