这篇文章主要介绍了SVN安装及基本操作(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
1.SVN是什么
svn是Subversion的简称,是一个开源的代码版本控制系统,svn就是用于多人共同开发同一个项目,达到资源共用目的工具。
版本控制是什么?
版本控制(Revision control)是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。可记录每个版本的信息,方便问题追踪。同时版本控制还支持并行开发,可有效的提高开发效率。
为什么要使用SVN?
1.项目备份方便,节省硬盘空间;
2.记录每个版本,方便追溯历史纪录。
3.多人协作开发,共享数据;
4.细节化的权限控制,便于管理员掌控项目整体。
2.Svn服务端和客户端获取方式
服务端:https://www.visualsvn.com/server/download/
![图片[1]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226090756880.png?imageView2/0/format/webp/q/75)
![图片[2]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170757899.png?imageView2/0/format/webp/q/75)
![图片[3]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170758530.png?imageView2/0/format/webp/q/75)
![图片[4]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170758364.png?imageView2/0/format/webp/q/75)
客户端:https://tortoisesvn.net/downloads.html
![图片[5]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170800966.png?imageView2/0/format/webp/q/75)
![图片[6]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170801252.png?imageView2/0/format/webp/q/75)
安装完后,在任意一个文件夹下面右键,如果出现下面这个,就说明安装成功了
![图片[7]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170802138.png?imageView2/0/format/webp/q/75)
3.svn工作流程和架构图;
3.1 svn工作方式:
![图片[8]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170803683.png?imageView2/0/format/webp/q/75)
(svn工作流程图)
3.2 svn架构图:
![图片[9]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170804843.png?imageView2/0/format/webp/q/75)
(svn架构图)
4.操作svn服务器的2种方式
4.1 command-line 命令行方式;
4.2 GUI-client图形界面方式;
4.2.1 svn服务连接方式:
(1) internet网络连接:
apache服务器;
svn服务器;
(2) local 本地连接:
4.2.2 svn数据存储方式:
文件方式:FSFS(推荐使用)
数据库方式:BerkeleyDB(伯克利DB)
5.svn服务器目录结构、用户和权限;
5.1 目录结构:
Repositories 仓库:存放被svn管理的项目文件,可以存放源码,文档等;
Users 用户:创建和编辑用户;
Groups 权限组:创建和编辑用户组;
打开VisualAVN Server步骤:在SVN服务器的安装目录下进入bin文件夹,双击VisualAVN Server.msc即可弹出VisualAVN Server窗口。
![图片[10]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170805961.png?imageView2/0/format/webp/q/75)
![图片[11]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170806427.png?imageView2/0/format/webp/q/75)
![图片[12]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170807981.png?imageView2/0/format/webp/q/75)
5.2 创建仓库:
标准文件夹结构:
branches 分支:如果需要测试新技术,或者大范围修改,将主干代码拷贝到分支中进行,测试无误后可以合并到主干中;
tags 发布:发布版本要放到tags中;
trunk 主干:主要开发目录;jia
创建仓库,命名为helloSvn:
![图片[13]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170808785.png?imageView2/0/format/webp/q/75)
![图片[14]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170809966.png?imageView2/0/format/webp/q/75)
![图片[15]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170809733.png?imageView2/0/format/webp/q/75)
![图片[16]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170810863.png?imageView2/0/format/webp/q/75)
![图片[17]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170811192.png?imageView2/0/format/webp/q/75)
![图片[18]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170812390.png?imageView2/0/format/webp/q/75)
创建项目,命名为dev:
![图片[19]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170813385.png?imageView2/0/format/webp/q/75)
![图片[20]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](https://img.godyu.com/2023/12/20231226170814586.png?imageView2/0/format/webp/q/75)
![图片[21]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383765.png)
5.3 创建用户:每个开发人员都需要拥有自己的svn账号;
右键【Users】-【Create User…】,比如创建三个用户siki,lain,lijiang
![图片[22]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383766.png)
![图片[23]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383767.png)
![图片[24]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383768.png)
![图片[25]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383769.png)
5.4 创建组:为每个部门配置不同的权限,便于管理;
![图片[26]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383770.png)
![图片[27]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383771.png)
![图片[28]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383772.png)
5.5 分配权限:在仓库或者目录中为用户/组分配权限;
右键【Group】-【Create Group…】,比如创建2个组admin,javaEE-Team
![图片[29]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383773.png)
![图片[30]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383774.png)
![图片[31]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383775.png)
同理:创建组javaEE-Team:
![图片[32]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383876.png)
![图片[33]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383877.png)
此时,就可以给项目helloSVN分配权限了,右键【helloSVN】-
![图片[26]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383770.png)
![图片[35]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383878.png)
![图片[36]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383879.png)
6.svn常用操作:
6.1 checkout 检出:
初次下载 – 第一次连接svn服务器时候需要下载对应仓库的数据(如果仓库中有数据的话);
比如现在让文件夹siki连接SVN服务器,方式如下
![图片[37]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383880.png)
![图片[38]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383881.png)
![图片[39]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383882.png)
![图片[40]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383883.png)
然后siki文件夹下面就有文件了
![图片[41]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383884.png)
![图片[42]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383885.png)
6.2 add 新增:
新增数据到svn服务器;
比如在trunk文件夹下面新建一个Item.java文件,将此文件添加到SVN服务器:
![图片[43]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383886.png)
![图片[44]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383887.png)
![图片[45]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383888.png)
![图片[46]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383989.png)
![图片[47]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383990.png)
现在再commit到SVN服务器:
![图片[48]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383991.png)
![图片[49]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383992.png)
提交成功显示如下界面:
![图片[50]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383993.png)
现在我们来到SVN服务器,按F5刷新,可以看到trunk目录下有了Item.java文件了!
![图片[51]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383994.png)
6.3 update 更新:
更新数据 – 检查svn服务器中的数据是否与本地的数据一致,如果不一致就下载改变/新增部分,同时不会删除本地数据;
比如在另一个lijaing文件夹下面更新SVN服务器的数据,同样要先在lijiang文件夹里面右键【SVN checkout…】
![图片[52]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383995.png)
![图片[53]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383996.png)
![图片[54]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383997.png)
![图片[55]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410383998.png)
![图片[56]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/2020071410384099.png)
![图片[57]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840100.png)
![图片[58]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840101.png)
现在我们去siki/dev/trunk目录中打开Item.java,会发现还没有name属性
![图片[59]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840102.png)
此时我们右键【update】更新一下就可以了,就会有name属性了
![图片[60]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840103.png)
![图片[61]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840104.png)
6.4 delete 删除:
删除svn的数据(需要搭配commit命令);
比如删除siki/dev/trunk目录下的Item.java文件,选中【Item.java】-【TortoiseSVN】-【Delete】,然后还没完,一定要记得commit!!!
![图片[62]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840105.png)
![图片[63]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840106.png)
6.5 revert 回滚:
将指定版本的代码回滚到本地,如要提交到服务器需要搭配commit命令;
![图片[64]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840107.png)
![图片[65]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840108.png)
![图片[66]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840109.png)
然后可以看到Item.java已经被回滚到文件夹里了,同样此时一定要记得commit!!!
![图片[67]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840110.png)
commit提交:
![图片[68]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840111.png)
![图片[69]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840112.png)
6.6 代码冲突:
在多人同时开发一个类,提交的时候容易出现代码冲突,也可以理解为版本冲突;
![图片[70]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840113.png)
比如siki和lijiang同时修改并更新Item.java文件,siki给Item.java添加一个price属性,lijiang给Item.java添加一个num属性。siki先提交,然后lijiang再提交时就会提示是否update,选择确定update,然后lijiang/dev/trunk里面就会有四个文件,
siki给Item.java增加price属性:
![图片[71]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103840114.png)
![图片[72]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841115.png)
![图片[73]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841116.png)
lijiang给Item.java增加num属性:
![图片[74]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841117.png)
![图片[75]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841118.png)
![图片[76]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841119.png)
![图片[77]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841120.png)
![图片[78]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841121.png)
![图片[79]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841122.png)
![图片[80]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841123.png)
![图片[81]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841124.png)
![图片[82]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841125.png)
![图片[83]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841126.png)
![图片[84]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841127.png)
7.其他操作:
7.1 按照版本检出;
右键【TortoiseSVN】-【show log】
![图片[85]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841128.png)
选择保存地址即可
![图片[86]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841129.png)
7.2 账号保存与注销;
在需要注销账号的文件夹里面右键【TortoiseSVN】-【settings】-【Saved Data】-【Clear all】,
![图片[87]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841130.png)
![图片[88]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103841131.png)
7.3 代码对比工具;
可以高亮显示不同版本文件的不同之处
![图片[89]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103842132.png)
![图片[90]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103842133.png)
7.4 下载指定版本号的文件;
比如新来一个队友,要使用某个文件的旧版本
![图片[91]-SVN安装及基本操作(图文教程)_服务器其它-安全小天地](SVN安装及基本操作(图文教程)_服务器其它/20200714103842134.png)
到此这篇关于SVN安装及基本操作(图文教程)的文章就介绍到这了,更多相关SVN安装内容请搜索安全小天地以前的文章或继续浏览下面的相关文章希望大家以后多多支持安全小天地!











暂无评论内容