版本控制

 

版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程当中,确保由不一样人所编辑的同一档案都获得更新。windows

 

 

 

6609c93d70cf3bc77fea26c5d300baa1cd112a35

版本控制软件

版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件api

经常使用的版本控制软件

Perforce,StarTeam)--------〉入门级安全

1.Clear case --------〉中坚级服务器

2.CVS --------〉开源奇葩分布式

3.Visual SourceSafe--------〉新秀级工具

4. SourceAnywhere --------〉中坚级学习

5.PVCS--------〉小工做组级ui

6 Perforce --------〉新秀级url

7.CCC --------〉元老级操作系统

8.StarTeam --------〉元老级

9.RCS --------〉元老级

10.SCCS --------〉元老级

11.Hansky Firefly

12.Others(还有一些比较少见或某个公司专用的软件,如Seapine,JBCM等)

经常使用的版本控制软件简介

1.Visual Source Safe(简称VSS)

VSS是美国微软公司的产品,目前经常使用的版本为6.0版。VSS是配置管理的一种很好的入门级的工具。

易学易用是VSS的强项,VSS采用标准的windows操做界面,只要对微软的产品熟悉,就能很快上手。VSS的安装和配置很是简单,对于该产品,不须要外部的培训(能够为公司省去一笔不菲的费用)。只要参考微软完备的随机文档,就能够很快的用到实际的工程当中。

VSS的配置管理的功能比较基本,提供文件的版本跟踪功能,对于build和基线的管理,VSS的打标签的功能能够提供支持。VSS提供share(共 享)、branch(分支)和合并(merge)的功能,对于团队的开发进行支持。VSS不提供对流程的管理功能,如对变动的流程进行控制。

VSS不能提供对异地团队开发的支持。此外VSS只能在windows平台上运行,不能运行在其余操做系统上。 有软件提供商提供VSS插件,能够同时解决VSS跨平台和远程链接两个问题,例如SourceAnywhere for VSS, SourceOffSite等。

VSS的安全性不高,对于VSS的用户,能够在文件夹上设置不可读,可读,可读/写,可彻底控制四级权限。但因为VSS的文件夹是要彻底共享给用户后,用户才能进入,因此用户对VSS的文件夹均可以删除。这一点也是VSS的一个比较大的缺点。

VSS没有采用对许可证进行收费的方式,只要安装了VSS,对用户的数目是没有限制的。所以使用VSS的费用是较低的。

微软再也不对VSS提供技术支持。

2.Concurrent Version System(简称CVS)

CVS是开发源代码配置管理工具,其源代码和安装文件均可以避免费下载。

CVS是源于unix的版本控制工具,对于CVS的安装和使用最好对unix的系统有所了解能更容易学习,CVS的服务器管理须要进行各类命令行操做。目前,CVS的客户端有winCVS的图形化界面,服务器端也有CVSNT的版本,易用性正在提升。

CVS的功能除具有VSS的功能外,还具备:

它的客户机/服务器存取方法使得开发者能够从任何因特网的接入点存取最新的代码;它的无限制的版本管理检出(checkout:注1)的模式避免了一般的 由于排它检出模式而引发的人工冲突;它的客户端工具能够在绝大多数的平台上使用。一样,CVS也不提供对变动流程的自动管理功能。

通常来讲,CVS的权限设置单一,一般只能经过CVSROOT/passwd, CVSROOT/readers, CVSROOT/writers文 件,同时还要设置CVS REPOS的物理目录权限来完成权限设置,没法完成复杂的权限控制;可是CVS经过CVS ROOT目录下的脚本,提供了相应功 能扩充的接口,不但能够完成精细的权限控制,还能完成更加个性化的功能。

CVS是开发源码软件,无需支付购买费用。

一样由于CVS是开发源码软件,没有生产厂家为其提供技术的支持。如发现问题,一般只能靠本身查找网上的资料进行解决。

3.SVN

SVN全名Subversion,即版本控制系统。

SVN与CVS同样,是一个跨平台的软件,支持大多数常见的操做系统。做为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变更。 这样你就能够把档案恢复到旧的版本, 或是浏览文件的变更历史。Subversion 是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源码。

SubVersion:实现服务系统的软件

TortoiseSVN:是SVN客户端程序,为windows外壳程序集成到windows资源管理器文件管理系统的Subversion客户端。

SVNService.exe:是专为 SubVersion 开发的一个用来做为 Win32 服务挂接的入口程序。

AnkhSVN:是一个专为Visual Studio提供SVN的插件

4.Git

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到很是大的项目版本管理.

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Torvalds 开始着手开发 Git 是为了做为一种过渡方案来替代 BitKeeper,后者以前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人以为 BitKeeper 的许可证并不适合开放源码社区的工做,所以 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,可是咱们已经发如今不少其余自由软件项目中也使用了 Git。例如 最近就迁移到 Git 上来了,不少 Freedesktop 的项目也迁移到了 Git 上。

 

参考:

http://baike.baidu.com/link?url=IZ-AZK2LZh1eyZij4x_R3YrVItX88OYNpsiwDTeFuYR5xQp8uXaKJ_UKpXDSjhemJhoS80QL8LdnYR179_mx1_

http://baike.baidu.com/link?url=QDg3AoDLLBudnO7nknyK4ycSGg_YWse5ABJUwG6vgwoRsPROMNpLwESmr0NJHr20DJAneUuWNgUekYQvZWCpVK

相关文章
相关标签/搜索