文章目录
Subversion(SVN)是一个开源的版本控制系统,它是集中式的版本控制器,有一个中央资料仓库。SVN可以管理文件的版本,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
一、SVN安装
1、服务端
SVN的服务端可以自己安装VisualSVN,也可以使用第三方服务(比如码云),两种方式选一种即可。
VisualSVN: 适合企业内部使用,在同一局域网或有公网服务器,可以实现多人合作
码云: 不用安装软件,直接用web服务即可,适合不在同一局域网或者没有公网服务器的情况。
1)、码云
创建仓库:
点击管理
仓库无论是否为空都要启动SVN访问
2)、VisualSVN
VisualSVN是一个SVN服务端, 下载地址:https://www.visualsvn.com/server/download/
创建用户
创建仓库
创建带分支的
2、客户端
两种客户端,二选一即可, SlikSVN(命令行)和TortoiseSVN(图形界面),实际上图形界面也都是对命令进行的封装。
1)、SlikSVN
下载地址:https://sliksvn.com/download/
cmd需要进入到bin目录下将bin目录配置好环境变量
执行svn --version
,查看是否可执行
2)、TortoiseSVN
TortoiseSVN又叫做“小乌龟”,官网下载地址:https://tortoisesvn.net/downloads.html
安装成功后鼠标右键有两个快捷菜单
二、SVN命令
创建一一个目录,当做测试的版本库,如D:\java\svn-repo
1、svn checkout
格式:svn checkout 地址
,checkout简写co
从远程库检出
注意:第一次检出会需要电脑开机密码、svn用户名和密码
可以看到下载成功的文件
因为在选择创建的时候,选的是带分支的库,所以会出现三个文件夹。如果没选带分支的,就是个空的文件夹。其中. svn就是版本信息存放的地方。
trunk
是主干,新功能的开发应放在主线中
branches
是分支,branches是和trunk并行开发的,不影响主干,待开发完成后合并回主干,分支通常用于修复bug时使用
tags
是标签,也叫里程碑,用于存放发布后的文件,以及对应发布后版本的源文件,通常是只读的
2、svn add
格式:svn add 文件名
在trunk下手动创建文件,之后使用svn add文件名向版本库中增加新文件
3、svn status .
格式:svn status
查看文件或目录状态
4、svn commit
格式:svn commit -m "提交信息"
,commit简写为ci
将文件提交到版本库,提交信息一定设置有意义的信息,方便以后版本回退
提交后在仓库可以看见文件
5、svn update
格式:svn update
,update简写up
切换到另一个用户的目录test,执行svn update ,可以看到更新的文件
6、svn log
格式:svn log
查看历史版本
7、svn revert
格式:svn revert 文件名
恢复到上一个版本
先修改文件file.txt
8、svn move
格式:svn move 原文件名 新文件名
,move 简写mv
9、svn resolved
格式:svn resolved 文件名
解决冲突
两个用户都修改同一个文件,一个先提交,一个后提交会出现冲突
修改解决冲突,
之后svn resolved
再提交
10、svn copy
格式:svn copy 参照目录 创建的分支名
创建分支
11、svn merge
格式:svn merge 分支名
分支合并
首先修改分支内容
merge命令还可以用作版本回退,先用svn log查看版本,再用merge命令。
12、svn rm
格式:svn rm 文件名
删除文件
三、TortoiseSVN使用
1、检出
在鼠标目标位置右键,选择SVN Checkout
检出结果
码云操作相同
2、文件图标颜色
小乌龟中图标不同,
绿色的是正常文件
红色叹号是修改过的
蓝色问号是新建的,未被版本管理
蓝色加号是add过的
图标名不显示解决方法:
windows7中开始菜单regedit打开注册表,搜索注册表ShellIconOverlayIdentifiers,重命名以下文件,主要把前面的空格换为0,再重启电脑就好了
3、添加新文件
4、提交文件
5、下载更新文件
6、忽略文件
如果某个文件不想让SVN管理,选择Unversion and add to ignore list
7、解决冲突
1)、文本冲突
如果多个人同时修改了一个文件,一个人先提交,另一个人提交会失败:
选择update后有如下冲突:
diff可看到冲突部分
修改file文件后resolved解决冲突
再提交就可以了
8、文件名冲突
文件修改内容重命名提交失败
需要在父路径提交
9、分支
创建分支
合并分支
四、IDEA使用
1、上传项目
下一步下一步就好了
选择不需要管理的文件
添加文件
提交文件
2、解决冲突
修改相同文件,后者提交会报错
右键冲突的文件,选择Update File
解决冲突后再提交可以了
3、分支
1)、创建分支
2)、切换分支
当前所处分支
3)、合并分支
4、版本信息删除
删除.idea中的vcs.xml文件
删除项目中的.svn文件夹即可