大数据

版本管理平台SVN概述

2018-06-15  本文已影响12人  kison_

05.版本管理种类与SVN工具简单介绍

1.什么是SVN?

SVN是一个跨平台的开源的版本控制系统,支持linux、windows平台。SVN版本管理工具管理者随时间改变的各种数据。这些数据放置在一个中央资料

档案库中,这个档案库很像一个普通的文件服务器或TP服务器。但与其他服务器不同的是,SVN会备份并记录每个文件每一次的修改更新变动。这样我

们就可以把任意一个时间点的档案恢复到想要的某一个旧的版本,当然也可以直接浏览指定文件的更新历史记录。

2.为什么会有SVN?

为了接管CVS的用户基础,解决了CVS的很多问题。SVN是一个非常通用的软件系统,它常被用来管理程序源码,但是它也可以管理任何类型的文件,如

文本、视频,图片等等。

3.SVN的相关站点:

  http://subversion.tigris.org/

  http://subversion.apch.org/

svn客户端: http://tortoisesvn.net

svn中文网站: http://www.iusesvn.com/

中文常见问题解答faq: http://subversion.apache.org/faq.zh.html

官方手册: http://svnbook.red-bean.com

截止到目前,经常接触到的常见的版本管理软件有:vss,cvs,svn,git,其中最常用的就是svn版本管理系统。

06.SVN和GIT的区别

一.SVN集中式 的版本控制管理

SVN主要是个集中式的数据管理,存在一个中央版本库,所有开发人员本地开发所使用的代码都是来自于这个版本库,提交代码也都必须提交到这个

中央版本库中。

  SVN版本控制系统工作流程如下:

1. 在中央库上创建或从主干复制一个分支

2. 从中央库check out下这个分支的代码(下载代码到本地)

3. 增加自己的代码文件,修改现存的代码或删除代码文件

4. Commit代码,假设有人在刚刚的分支上提交了代码,你就会被提示代码过期(提交代码)

先up你的代码后再提交,up代码的时候如果出现冲突,需要解决好冲突后再进行提交。

SVN的缺点

1. 如果无法联网,就没法提交代码,无法将代码加入版本控制

2. 如果无法联网,代码历史版本和版本变化过程都看不到了

3. 由于代码库集中管理,因此需要对中央版本库的存储做备份

4. SVN的备份要备份所有代码数据以及所有更改的版本记录

二. git分布式的版本控制

Git由linus开发,Git作为分布式版本控制系统,就没有中央版本库的说法了。但为了开发小组的代码共享,通常还是会搭建一个远程的git仓库。

但与SVN不同的是,开发者本地也包含了一个完整的git仓库,从某种程度上说本地的仓库和远程的仓库在身份上是等价的,没有主次之分。实际上git就相当于单机版的版本库。

07.企业实际应用

SVN目前是企业主流管理平台,git次之,不过有成为主流地位的趋势。

对于版本管理系统,运维人员需要掌握的技术点:

1. 安装、部署、维护、排障

2. 简单应用,很多公司都是由开发来管理,包括建立新仓库和添加删除账号。

3. 对于版本控制系统,运维人员相当于开发商,开发人员是业主,运维搭建的系统为开发人员服务。

08.SVN的服务的运行模式和访问模式

一.常见的运行访问方式:

1. 独立服务器访问

访问地址如:svn://svn.etiantian.org/sadoc

2. 借助apache等http服务

访问地址如:http://svn.etiantian.org/sadoc

A. 单独安装apache+svn

B. CSVN(apache+svn)是一个单独的整合的软件,带web界面管理的SVN软件

3. 本地直接访问(例如:file://application/svndata/sadoc)

09.SVN客户端的访问方式

本地磁盘访问,网络协议访问等。

file://直接通过本地磁盘或者网络磁盘访问版本库

http://通过webdav协议访问支持的subversion的apache服务器        常用

https://与http://相似,但是用ssl加密访问

svn://通过tcp/ip自定义协议访问svnserve服务器        常用

svn+ssh://通过认证并加密的tcp/ip自定义协议访问svnserve服务器

10. SVN档案数据库的格式说明

SVN存储版本数据主要有两种方式:

BDB:一种食物安全型表类型

FSF:一种不需要数据库的存储系统  (推荐使用)

11.SVN系统逻辑架构图原理

用户端->客户端->访问数据库->{http访问方式、svn访问方式、本地访问}      

流程图:

SVN流程图

集中式代码管理的核心是SVN服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后进行开发,最后解决冲突、提交。所有的版本信息都放在SVN服务器上。因此如果脱离了服务器,开发者就无法进行提交代码工作。

12.SVN的优缺点

开发者利用SVN版本管理系统工作过程

开始新一天工作:

1. 首先从SVN服务器下载项目组最新代码

2. 进入自己的分支,进行开发工作,每隔一个小时向服务器上自己的分支提交一次代码

3. 下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并响应给服务器。

以上就是经典的SVN工作流程,从流程上看,优缺点,也有优点。

缺点:

1. 由于没一次提交都保留一个原始副本,因此SVN数据库容量会暴增

2. 如果不能连接到SVN服务器上,基本无法开展工作

3. 不适合开源系统开发,但是一般集中式管理的有非常明确地权限管理机制(比如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。

优点:

1. 管理方便,逻辑清晰明确,符合一般人的思维习惯

2. 易于管理,集中式SVN服务器更能保证数据安全性

3. 代码一致性非常高

4. 适合开发人数不多的项目开发

5. 普及度高,大部分软件配置管理的大学教材都是使用SVN和vss

13. 准备并安装部署SVN版本系统

需要在linux系统下进行 Centos6.4

上一篇下一篇

猜你喜欢

热点阅读