几种常用的版本控制系统优缺点比较

VSS

VSS 的全称为 Visual Source Safe 。作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理,几乎可以适用任何软件项目。管理软件开发中各个不同版本的源代码和文档,占用空间小并且方便各个版本代码和文档的获取,对开发小组中对源代码的访问进行有效的协调

VSS作为一款历史悠久的版本管理工具,在早期扛起了版本管理系统方面的大气,能帮助解决一部分版本控制方面的问题,也在一定程度上帮助解决代码共享方面的难题。但是依旧存在一些不足,比如:

1.文件大多会以独占的形势进行锁定。如果一个人在修改的时候其他人没有办法进行修改。

2.VSS只支持Windows版本,且只兼容微软的开发工具。

3.文件存储,服务器必须共享文件夹,对文件的安全性没有足够保障。

SVN

SVN

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

这是百度百科中给出的SVN的解释。SVN是一个开源的版本控制系统。和VSS相比,除开最基本的代码和文件管理功能外,主要的革新是提供了分支的功能,从而解决了VSS文件独占的问题。大幅提升了开发人员的工作效率,谁写完代码,随时可以提交到自己的分支上,最后对所有分支进行合并,解决冲突即可。相比VSS而言,在工作模式上有了翻天覆地的改变。

而SVN作为集中式的版本管理系统,依然有他的优缺点:

优点

1.管理方便,逻辑明确,操作简单,上手快。

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

3.代码一致性非常高。

4.有良好的目录级权限控制系统。

·劣势

1.对服务器性能要求高,数据库容量经常暴增,体量大。

2.必须联网。如果不能连接到服务器上,基本上不可以工作,如果服务器不能连接上,就不能提交,还原,对比等等。

3.不适合开源开发。

4.分支的管控方式不灵活

Git

请点击此处输入图片描Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。作为一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。

Git的优缺点如下:

1.适合分布式开发,每一个个体都可以作为服务器。每一次Clone就是从服务器上pull到了所有的内容,包括版本信息。

2.公共服务器压力和数据量都不会太大。

3.速度快、灵活,分支之间可以任意切换。

4.任意两个开发者之间可以很容易的解决冲突,并且单机上就可以进行分支合并。

5.离线工作,不影响本地代码编写,等有网络连接以后可以再上传代码,并且在本地可以根据不同的需要,本地新建自己的分支。