版本控制——SVN简介

时间:2023-01-18 15:23:06

       在学习SVN的时候,我们不可避免的会问:SVN是什么?我们为什么要学习SVN?它能帮我们做什么?怎么用它?


SVN是什么?

    百度告诉我“SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。


为什么要用版本控制系统?

一、版本控制:

    是维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程。此外,版本控制也是一种软件工程技巧,借以在软件开发的过程中,确保由不同人所编辑的同一程式档案都得到同步。

二、常见问题:

1、程序——

(1)更改源文件,但不知道哪个是最新版本。

2)不了解文件的修改过程,尤其是最后修改了哪几行以及为什么修改。

3)多人修改一个文件时,有些人的结果被覆盖掉,导致不同的人改正同一个问题,影响效率。

4)程序误删了,只能重写。

2、项目经理——

(1)项目后期调试周期长,开销大。

(2)调试过程中,经常出现“扯皮”,不清楚哪的问题。

(3)版本太多,查看不方便。

(4)估计项目成员的工作进度和工作成果比较困难。

3、boss——

(1)交付给用户的产品不完整,用户在安装时才发现问题。

(2)用户使用时发现的问题不能及时解决。

(3)不能确切了解项目的进度。

(4)公司的运作过程无法有效控制。

三、版本控制的优点:

(1)随时将程序恢复到以前某一时间点

(2)实现程序的互斥性修改

(3)对程序修改进行有效的管理

(4)将开发环境与测试环境、运行环境进行有效的隔离

(5)评估软件开发人员编写的程序质量,控制软件开发的进度

(6)管理文档

四、版本控制关键点:

(1)记录:记录代码提交间的变化

(2)同步:及时同步项目的进程

五、版本控制软件

(1)VSS(Visual Source Safe)——微软产品,仅支持windows系统,能力仅限于team级别。

(2)CVS(Concurrent Version System)——简单、易用,但只能对文件进行版本控制,不能对目录进行版本控制。

(3)Star Team——一个用于管理配置和变更的集成环境,能够与众多工具平台进行无缝集成。

(4)ClearCase——提供VSS,CVS,StarTeam所支持的功能,但不提供变更管理的功能。

(5)SVNSubversion)——SVN提交文件,只有当全部文件修改都成功入库,该提交才变得有效。一旦中断,SVN将会自动执行“回滚”(rollback)操作。SVN 这种机制保证所有的修改要么全部入库生效,要么一个也不入库。这种特点是它极大的优势。

(6)SourceAnywhere——微软推荐的远程和跨平台访问VSS的工具。

(7)Git——为帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。


小结

    我们成长的每一步都需要不断发现,不断探索,从点滴开始,一步一步踏踏实实的向上走~~~