SVN基本介绍
1、版本管理种类以及svn介绍
svn是一个跨平台的开源的版本控制系统,svn版本管理工具管理随时间改变的各种数据。这些数据放置在一个中央资料档案库中,这个档案库很像一个普通的文件服务器或者FTP服务器,但是,与众不同的是,svn会备份并记录每一个文件每一次的修改更新变动。这样我们就可以把任意时间点的档案恢复到想要的某一个旧版本。svn是一个非常通用的软件管理系统,它常被用来管理程序源码,但是他也可以管理任何类型的文件,如:文本,图片,视频等。目前版本管理还有VSS,CSV,SVN,GIT但是目前最常用的还是SVN。
2、svn与git的区别
目前也有很多公司开始使用git,这里说下他们的区别。
SVN版本控制系统是集中式版本控制系统。存在一个中央版本库,所有开发人员本地开发使用的代码都是来自于这个版本库,提交代码也都必须提交到这个中央版本库。但是在无法连接到中央版本库的环境下,你无法提交代码,将代码加入版本控制。由于代码库集中管理,因此,需要对中央版本库的存储做备份,这点也是很浪费空间的。
git是有Linus开发的,所以很自然的git和linux文件系统结合的比较紧密,以至于在windows上你必须使用cygwin才能使其完美的工作。git是分布式的版本控制系统,为什么说是分布式呢,因为开发者本地也包含了一个完整的git仓库。从某种程度上说本地的仓库和远程的仓库在身份上是等价的。没有主次之分。
3、svn服务端、客户端访问的方式
服务端:
1)独立服务器访问 svn://;
2)接触Apache等http服务 http://;
a.单独安装Apache+svn
b.CSVN(Apache+svn)是一个单独的整合的软件,带界面管理的svn软件
3)地直接访问 file://
客户端:
1)file:// 直接访问本地硬盘上文件仓库
2)http:// 通过 WebDAV 协议访问支持 Subversion 的 Apache 2 Web 服务器
3)https:// 类似 http://,支持 SSL 加密
4)svn:// 通过自带协议访问 svnserve 服务器
5)svn+ssh://类似 svn://,支持通过 SSH 通道
4、svn档案数据库格式
svn存储版本数据有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统),因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。BDB是Subversion 1.2版本以前的缺省版本库格式。1.2及以后使用的时FSFS。
BDB不能在通过网络共享的文件系统上使用。FSFS可以使用网络文件系统。BDB(关系数据库),FSFS(二进制文件)
5、svn版本系统逻辑图工作流程:
6、svn的工作流程以及优缺点。
流程:
- 首先从svn上下载项目代码,
- 进入到自己的分支,进行开发工作(提交、查看)
- 下班,把分支合并到主干上。
缺点:
- 由于每一次提交都需要保留原始副本,数据库容量很大。
- 连接不上服务器,基本就不能正常工作了。
- 不适合开源系统开发,
优点:
- 管理方便,逻辑清晰
- 易于管理,集中式svn服务器更能保证数据安全性。
- 代码一致性非常高。
- 适合开发人数不多的项目。
- 普及度高。
大家有疑问可以添加qq群:789318548, 也可以关注今日头条《老徐聊技术》我会解答。