SVN

#前言

在2000年初,开发人员要写一个CVS的自由软件代替品,它保留CVS的基本思想,但没有它的错误和局限,保留CVS的基本特性但去除CVS的bug和不好的特性。所以就有了SVN,小编首先从导图的如下几个方面了解了关于SVN的前身今生。
#导图

![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwNjE2MDk1MzUwNjIw?x-oss-process=image/format,png) #简单了解

##Why

  1. 了解团队开发时其他成员进度
  2. 比较版本之间的差别,记录版本成长,成果复用
  3. 资料在服务器端,方便共享
  4. 参与开发者都可以实时更新,不需要专门人员维护
  5. 提高工作效率
  6. 取代CVS
    ##What
  • 全称:SVN(Subversion)
  • 简单粗暴的理解:SVN=版本控制+备份服务器 。(ps:不是很全面,但满足二八定律)

对比:

很多文档都说SVN可以取代CVS,CVS的很多缺陷都被SVN完善了。但是也有很多人认为SVN并不是CVS的替代品,只是个不同的系统,类似于CVS。它有些特有的功能,足以作为采用它的理由。这些功能使他更适合于开发环境,例如对PowerBuilder。下面可以通过对比找到各自的相对优势、劣势。

** SVN**
  • 速度快,双向差异化文件传输。(服务端箭头)代价是完全备份所有文件
  • 原子性提交(SVN保证所有的修改要么全部入库生效,要不都不入库)
  • 方便管理,逻辑明确,符合大部分人的思维方式
  • 保证安全性
  • 代码一致性比较高
  • 支持文件重命名
  • 有read、write、none三种权限 creat和delete权限和write是捆绑在一起的
  • 分支和基线是通过执行“拷贝”来建立的
** CVS**
  • 速度相对慢 ,基于单向差异化文件传输。(服务的→客户端)
  • 允许任意回滚
  • 不支持本地文件重命名提交
  • read、write、creat、none这四种权限,任何人不能删除文件夹,admin也只能通过在服务器上将相应文件夹删除
  • 创建分支的时候,需要对所有进行分支的文件进行依次的操作,分支建立成本高。
** VSS**
  • 基于Windows平台,C/S架构;SVN可以多平台
  • 不能离线开发,SVN可以离线开发。
  • 不支持重命名(ps:这对Java和C#开发很重要,为了得到更好的代码,开发中需要经常进行重构,重构就经常涉及到文件的重构名,有时会对文件重命名再提交。)
  • 不支持原子性提交
  • 版本管理需要手动定义。(SVN可以自动记录版本号)

工作流程

这里写图片描述

  • 核心:服务器
  • 工作前:get;
  • 工作时:进入自己分支,隔一段时间提交一次;
  • 工作后:合并自己的分支到服务器主分支上,全部commit

总结

从多个方面简单的了解了SVN,主要从版本控制+备份服务器两个方面加深了认知。这两个方面为开发工作带来极大的便利。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值