初识svn

直到今天我还不知道什么叫svn.....纠结,社团学习需要,于是找了一本书学习学习,同初学者共享。那么现在开始吧!

为什么要用svn?

从事软件开发,日常代码修改和软件版本升级是必须的,但是不免有时候会在修改时候出现错误又无从找起,svn可以记载每次的修改。它会记录每一次改变:每个文件的改变,甚至是目录树本身的改变。所以svn是一种适合团队开发与个人代码管理的版本控制工具。(本人也是软件学习的入门者,用词不当之处多多包涵。)

什么是svn?

Subversion(简写svn)是一个“集中式”的信息共享系统。

版本库是Subversion的核心部分,是数据的中央仓库。版本库以典型的文件和目录结构形式文件系统树来保存信息。任意数量的客户端连接到Subversion版本库,读取、修改这些文件。客户端通过写数据将信息分享给其他人,通过读取数据获取别人共享的信息。

Subversion听起来和一般的文件服务器没什么不同。事实上,Subversion的版本库的确是一种文件服务器,但不是“一般”的文件服务器。Subversion版本库的特别之处在于,它会记录每一次改变:每个文件的改变,甚至是目录树本身的改变,例如文件和目录的添加、删除和重新组织。

文件共享的问题

虽然方便管理源代码、共享文件,但所有的版本控制系统都需要解决这样一个基础问题:怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?版本库里意外覆盖别人的更改非常的容易。

其实,文件共享问题我看来就是避免和解决多人同时操作同一文件时候的矛盾。通过“锁定-修改-解锁”方案、“拷贝-修改-合并”方案解决。两种方案主要还是体现开发人员的沟通交流,以提高整体效率。

一般情况下都是用拷贝-修改-合并方案,但也有时候比较合适用lock-modify-unlock model,例如一些二进制文件(插图、声音等),常常因为合并时候出现问题。关于锁定会在后续学习中提到。

以上是svn的扫盲内容,简述什么是svn以及基本原理。提到svn总是在百度的时候发现其余cvs有关,加点百度内容,扩展一下:CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。即svn的前身是csv。SVN是CVS的升级版本,是用来替代CVS的,因为CVS内部代码的问题,很难再发挥的更为强大,我知道的就SVN可以用来重命名更新来达到CVS不能达到的操作。

以上内容部分采集开源书籍《svnbook-1.5-final-zh》。如想具体了解请下载原书学习。

下载链接:http://download.csdn.net/detail/yuanlinyue/4081096

了解更多svn信息

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值