源码管理工具比较
几种源代码管理工具简介

⼏种源代码管理⼯具简介在软件开发的过程中,有⼀些问题是因为源代码⽽引起的,⽐如源代码的权限、代码版本的备份等⼀系列不同的问题。
因此,使⽤源代码管理⼯具可以有效地减少上述问题的产⽣。
使⽤源代码管理⼯具,可以看到⼀个软件开发项⽬从头到尾的流程,记录下内容变化,以⽅便再次查阅。
那么,下⾯就介绍三种源代码管理⼯具,分别是:CVS、SVN和GitHub。
1.CVSCVS是⼀个常⽤的代码版本控制软件,主要会在开源软件管理中使⽤。
⼀个中⼼版本控制系统来记录⽂件版本,从⽽达到保证⽂件同步的⽬的。
CVS版本控制系统是⼀种GNU软件包,主要⽤于在多⼈开发环境下源码的维护。
在⼀台服务器上建⽴⼀个源代码库,可以存放源程序。
由源代码库管理员统⼀管理这些源程序。
每个⽤户在使⽤源代码库之前,⾸先要把源代码库⾥的项⽬⽂件下载到本地,然后修改,最后⽤CVS命令提交。
这样⼀来,就好像只有⼀个⼈修改⽂件,不但避免了冲突,⼜做到跟踪⽂件变化情况。
2.SVNSVN是⼀个开放源代码的版本控制系统,是采⽤分⽀管理系统的⾼效管理。
它管理着随时间改变的数据。
这些数据放置在⼀个档案库中。
这个档案库像⼀个普通的⽂件服务器,但是它会记住程序源码的修改以及变动。
这样的话,不仅可以把程序源码恢复到改动之前的版本,也可以浏览程序源码的变动历史。
SVN系统实现对项⽬软件的版本控制,⼀⽅⾯是通过实现历史操作记录查阅,⽽另⼀⽅⾯是通过进⾏组员间的协同开发以实现对项⽬软件的版本控制。
3.GitHubGitHub是⼀个⾯向开源及私有软件项⽬的托管平台,因为只⽀持Git作为唯⼀的版本库格式进⾏托管,因此叫做GitHub。
GitHub除了Git代码仓库托管及基本的Web管理界⾯以外,还提供了订阅、讨论组、⽂本渲染、在线⽂件编辑器、协作图谱、代码⽚段分享等功能。
其作为⼀个分布式的版本控制系统,在Git中并不存在主库这样的概念,每⼀份复制出的库都可以独⽴使⽤。
GitHub可以托管各种git库,并提供⼀个web界⾯,并且在GitHub上,使⽤者可以找到海量的开源代码。
程序编辑器中的代码版本管理工具介绍

程序编辑器中的代码版本管理工具介绍代码版本管理是软件开发过程中至关重要的一环。
当我们进行软件开发时,往往需要多人协作,同时可能会遇到代码的更改、回滚、分支管理等问题。
为了高效地进行团队协作和代码管理,程序编辑器中的代码版本管理工具应运而生。
代码版本管理工具的作用是跟踪、记录和管理代码的不同版本。
它允许多人同时编辑代码,并能够确保每个人修改的代码都能被捕获并与主代码库同步。
下面我将为大家介绍几个常见的程序编辑器中的代码版本管理工具。
一、GitGit是目前最流行的代码版本管理工具之一。
它是由Linus Torvalds 创建的,用于管理Linux内核源代码。
Git具有以下特点:1. 分布式版本控制系统:每个开发者都可以在本地维护完整的代码仓库,不依赖于中央服务器。
这样就能在没有网络连接的情况下继续工作。
2. 强大的分支管理:Git可以轻松创建、合并和删除分支,在不同的分支上进行独立的开发工作。
3. 高效的性能:Git能够快速处理大规模的代码库,对于处理大量的文件和历史记录非常高效。
4. 安全性:Git采用SHA-1算法对每个版本的文件进行校验和,确保文件的完整性和安全性。
二、SVNSVN(Subversion)是一个集中式的版本控制系统。
相比于Git,SVN的工作方式有所不同:1. 集中式控制:所有的代码版本和历史记录都存储在中央服务器上,开发者需要通过网络连接到服务器才能进行代码管理。
2. 锁定机制:SVN允许开发者对文件进行锁定,以确保在编辑期间其他人无法修改同一文件。
这在某些场景下能够提高代码的安全性。
3. 相对简单易用:相比于Git,SVN的学习曲线较平缓,上手比较容易。
三、MercurialMercurial是另一个强大的分布式版本控制工具,与Git类似。
它具有以下特点:1. 简单直观:Mercurial的命令和操作很容易理解和掌握,适合初学者使用。
2. 跨平台支持:Mercurial支持Windows、Mac和Linux等多种操作系统。
代码管理工具介绍:Git、SVN和Mercurial的比较

代码管理工具介绍:Git、SVN和Mercurial的比较代码管理工具是开发人员用来跟踪和管理项目代码的工具。
在开发过程中,代码管理工具可以记录每次代码的修改,帮助协作开发,解决冲突以及版本控制。
本文将介绍三种常见的代码管理工具:Git、SVN和Mercurial,并比较它们的特点和优劣之处。
1. Git:Git是目前最流行的分布式版本控制系统。
由于其速度快、强大的分支支持和灵活的工作流程,Git在开源社区广泛使用。
优点:-高度分布式:每个开发人员都可以拥有完整的代码库,并可以在没有网络连接的情况下独立工作。
-分支支持:Git的分支机制非常灵活,可以快速创建、合并和删除分支。
-高效性能:Git的速度非常快。
它使用了一些优化技术(如文件的压缩和索引)来提高性能。
-强大的工作流程:Git支持多种工作流程,如中央化、集成管理和分布式工作流程。
缺点:-学习曲线陡峭:Git的命令行接口相对复杂,可以花费一些时间来学习和熟悉。
-使用复杂:在处理冲突和解决问题时,Git可能会变得复杂和困难。
-存储需求高:由于Git需要在本地保存完整的代码库,因此占用的存储空间较大。
2. SVN(Apache Subversion):SVN是一个集中式版本控制系统,广泛用于企业级项目。
作为Git 的竞争对手,SVN具有自己的一些特点和优势。
优点:-简单易用:相对于Git来说,SVN的学习和使用都会更加容易。
-安全性:SVN提供了一些安全功能,如身份验证和访问控制,以保护项目的安全性。
-更好的文件和目录管理:SVN对于重命名、移动和删除文件和目录的处理更加友好。
缺点:-中心化:SVN的代码库是集中式的,每个开发人员都需要从中央服务器获取代码并提交自己的更改。
这可能会导致开发过程中的延迟和依赖性。
-性能问题:SVN在处理大型代码库时可能会出现性能问题。
3. Mercurial:与Git相似,Mercurial也是一个分布式版本控制工具。
VSCode的代码比较工具介绍

VSCode的代码比较工具介绍在软件开发过程中,版本控制是一个重要的环节。
而在进行版本控制时,常常需要进行代码的比较操作,以便了解代码的变化和差异。
VSCode作为一款强大的代码编辑器,提供了多种代码比较工具,方便开发者进行代码的比较和合并。
本文将介绍VSCode中几种常用的代码比较工具,并对其特点和使用方法进行说明。
1. 默认的内建比较工具VSCode自带了一个内建的代码比较工具,通过点击源代码文件右键,选择“比较”选项,即可在侧边栏中显示代码的差异。
这个内建的比较工具提供了基本的比较功能,能够显示两个文件之间的差异,并提供行级别的对比。
用户可以通过直观地查看差异来了解代码修改的内容。
2. Git集成的代码比较工具在进行版本控制时,开发者常常会使用Git进行代码管理。
VSCode与Git集成紧密,在默认情况下,VSCode会使用Git作为代码比较工具。
用户可以通过VSCode的源代码管理功能来比较不同版本的代码,在控制台中显示差异。
这种方法能够直接与版本控制工具结合,方便进行代码的比较和合并操作。
3. Beyond Compare插件除了默认的比较工具外,VSCode还支持各种插件扩展。
其中一个比较受欢迎的插件是Beyond Compare,它是一款功能强大的文件和目录比较工具。
通过安装Beyond Compare插件,用户可以将其作为VSCode的代码比较工具,实现高级的代码对比功能。
Beyond Compare 提供了可视化的比较界面,能够直观地展示代码差异,并支持高级的代码合并操作。
4. Diff插件另一个常用的VSCode插件是Diff,它提供了一种简单而直观的比较方式。
用户只需在VSCode中打开两个文件,然后在文件选项中选择“Diff”选项,即可在编辑器中显示两个文件的差异。
这个插件非常适合对比小段代码或者单个文件的差异,操作简单快捷。
5. 跨平台支持VSCode作为跨平台编辑器,几乎支持所有主流操作系统,包括Windows、MacOS和Linux。
几种源代码管理工具

⼏种源代码管理⼯具前⾔: ⽬前市场有⼏种主流的源代码管理⼯具,如TFS、Github、Helix Core、Subersion、AWS CodeComiit、Rational ClearCase,其中使⽤频率较⾼的是TFS和Github,本⽂将先⼤致介绍这两款软件和AWS CodeComiit,随后对Github进⾏着重介绍。
同时,在介绍的过程中会适当地结合团队项⽬。
正⽂:⼀、TFS TFS主要针对海量⾮结构化(结构化的数据是指像SQL(Structed Query Lanuage)中的数据,⾮结构化就是像NOSQL中的数据)的⼩数据,通常的⽂件⼤⼩不超过1M,可以满⾜对⼩⽂件存储的需求。
下⾯是 TFS的读写流程图(以TFS2为例)⼆、Github(重点介绍) GitHub是⼀个⾯向开源及私有软件项⽬的托管平台,因为只⽀持Git作为唯⼀的版本库格式进⾏托管,故名GitHub。
当我们创建了⼀个项⽬时,我们可以在Github上建⽴⼀个代码仓库。
顺着操作指令或是创建⼀个README.md⽂件后,这就变成了⼀个可公开也可以私有的项⽬。
在此之后,我们可以在Github上邀请好友与我们⼀起管理代码仓库。
可以对管理者设置不同的权限,⽐如,只有主要负责⼈才能管理融合的部分,其他普通管理者都没有这个权限。
每⼀个建设者可以获得它们专属的克隆代码仓库,以便独⽴地进⾏⼯作。
当⼀个普通管理员建⽴⼀个克隆代码仓库时,原始的代码仓库会变成upstream,克隆出来的代码仓库称为origin。
当我们将代码放⼊origin/branch-name时,代码会被⾃动添加到upstream/develop中。
通常,普通⽤户习惯于同时修改⼯程和使⽤别⼈的策略作为⾃⼰推陈出新的起点。
当⼀个建设者想要在做点什么新内容时,他可以创建⼀个新的branch,这个branch取决于正在做的内容。
即使他有新的想法,可能有不同的特点,但由于branch这么做并不会影响其他⼈的成果,反⽽可以独⽴地进⾏代码操作。
7款代码对比工具

7款代码对⽐⼯具在程序开发的过程中,程序员会经常对源代码以及库⽂件进⾏代码对⽐,在这篇⽂章⾥我们向⼤家介绍六款程序员常⽤的代码⽐较⼯具。
⼀、WinMergeWinMerge是⼀款运⾏于Windows系统下的⽂件⽐较和合并⼯具,使⽤它可以⾮常⽅便地⽐较多个⽂档内容,适合程序员或者经常需要撰写⽂稿的朋友使⽤。
WinMerge会将两个⽂件内容做对⽐,并在相异之处以⾼亮度的⽅式显⽰,让使⽤者可以很快的查知;可以直接让左⽅的⽂件内容直接覆盖⾄右⽅,或者反过来也可以覆盖。
⼆、DiffuseDiffuse在命令⾏中的速度是相当快的,⽀持像 C++、Python、Java、XML 等语⾔的语法⾼亮显⽰。
可视化⽐较,⾮常直观,⽀持两相⽐较和三相⽐较。
这就是说,使⽤ Diffuse 你可以同时⽐较两个或三个⽂本⽂件。
⽀持常见的版本控制⼯具,包括 CVS、subversion、git、mercurial 等,你可以通过 Diffuse 直接从版本控制系统获取源代码,以便对其进⾏⽐较和合并。
三、Beyond CompareBeyond Compare可以很⽅便地对⽐出两份源代码⽂件之间的不同之处,相差的每⼀个字节⽤颜⾊加以表⽰,查看⽅便,⽀持多种规则对⽐。
Beyond Compare选择最好的⽅法来突出不同之处,⽂本⽂件可以⽤语法⾼亮和设置⽐较规则的⽅法进⾏查看和编辑,适⽤于⽤于⽂档、源代码和html。
四、Altova DiffDog是⼀款⽤于⽂件、⽬录、数据库模式与表格对⽐与合并的使⽤⼯具。
这个强⼤易⽤的对⽐/合并⼯具可以让你通过其直观的可视化界⾯快速⽐较和合并⽂本或源代码⽂件,同步⽬录以及⽐较数据库模式与表格。
DiffDog还提供了先进XML的差分和编辑功能。
五、AptDiffAptDiff是⼀个⽂件⽐较⼯具,可以对⽂本和⼆进制⽂件进⾏⽐较和合并,适⽤于软件开发、⽹络设计和其它的专业领域。
它使⽤⽅便,⽀持键盘快捷键,可以同步进⾏横向和纵向卷动,⽀持Unicode格式和⼤于4GB的⽂件,可以⽣成html格式的⽐较报告。
9款代码比较工具

9款代码⽐较⼯具对于经常写代码,⼜改代码的程序员来说,如果之前写的代码,过了很久⼜需要改,那么查找不同之处相当困难。
如果这时候有⼀款代码⽐较⼯具,将会⾮常⽅便。
W3Cschool 资深⽤户归纳总结 9 款常⽤的代码⽐较⼯具,赶快收藏。
1.好⽤的代码⽐较⼯具:BeyondCompare这个软件主要的作⽤是合并以及⽐较源代码,使⽤这款软件,可以很快的对⽐出⽂件夹的不同之处,并且⽤不同的颜⾊区分出相差的字节,⽅便程序员查看。
不仅如此,这款软件还⽀持多种规则的对⽐。
2.好⽤的代码⽐较⼯具:UltraCompare这款软件主要的作⽤是对⽐⽂件内容,可⽐较⼆进制模式、⽂件夹模式和⽂本模式,还可以合并、同步⽐较的⽂本,同时还允许撤销。
3.好⽤的代码⽐较⼯具:TextDiff这个⼯具相当⼩巧,主要⽤来⽐较开放源代码的⽂本,它的功能虽然⽐商业或者共享⽂本的⽐较⼯具更弱,但是可以完成⼀般源代码的修改以及⽐较任务。
此外,由于这款软件属于开源软件,你完全可以将它改造得更加的强⼤,功能更多。
4.好⽤的代码⽐较⼯具:WinMerge 2.12.4 多语⾔版如果你的⽂字⽂件内容相似,那么可以使⽤这款软件,同时检查两个⽂件的不同。
尤其是改版的时候,不知道新旧程序之间的不同处,这时候这个软件就可以派上⽤场。
这个软件对⽐⽂件夹时,若出现相异之处,将出现⾼亮度,进⽽进⾏修改。
5.好⽤的代码⽐较⼯具:多⽂件⽐较(DiffMerge)DiffMerge 则是⼀个强⼤的⽂件⽐较⼯具,除了代码加亮,不同之处加亮之外,它最⼤的特点是能够跨平台运⾏,你在什么平台上都可以⽅便的使⽤它。
DiffMerge 的体积为 6.48M,官⽹上⾯提供了 windows 版、mac 版和 linux版,⽽ Windows 版中你可以选择安装包还是使⽤绿⾊版。
⽽如果你在 linux 下使⽤,则可以下载到 ubuntu 的 deb 包和 fedora 的 rpm 包。
VSCode代码比较工具帮助合并与解决冲突

VSCode代码比较工具帮助合并与解决冲突在软件开发中,协同工作是不可避免的。
在同时进行开发的团队中,经常会遇到代码冲突的情况,即两个或多个开发人员同时修改同一部分代码。
为了解决这一问题,Visual Studio Code (VSCode) 提供了强大的代码比较工具,可帮助我们合并与解决冲突。
VSCode的代码比较工具支持多种功能,包括比较文件、比较版本控制中的修改和合并分支等。
下面将介绍如何使用VSCode的代码比较工具来有效地合并与解决代码冲突。
一、比较文件在VSCode中,我们可以轻松地比较两个文件的差异。
首先,打开VSCode并在编辑器中打开两个需要比较的文件。
然后,通过点击左侧的源代码管理器中的“文件夹”图标,并选择“打开文件”,或者使用快捷键“Ctrl + P”来打开需要比较的文件。
在打开的两个文件中,VSCode会自动检测到差异并将其在编辑器中以不同颜色显示。
我们可以通过点击右键并选择“比较选定的文件”来比较这两个文件。
通过比较文件,我们可以清楚地看到两个文件之间的差异,并且VSCode会提供一些功能来帮助我们合并这些差异。
二、比较版本控制中的修改在使用版本控制系统进行协同开发时,经常会需要比较和合并不同版本中的代码修改。
VSCode支持与多个版本控制系统(如Git、SVN 等)无缝集成,并提供了代码冲突解决的功能。
在VSCode中,我们可以使用版本控制面板来比较和合并单个文件或整个代码库中不同版本的修改。
首先,打开源代码管理器,并选择需要比较和合并的文件。
然后,右键单击文件并选择“比较源码控制”选项。
VSCode将显示该文件不同版本之间的差异,并提供相应的工具来解决冲突。
通过比较版本控制中的修改,我们可以方便地查看不同版本之间的差异,并通过VSCode提供的合并工具来解决冲突。
三、合并分支在团队协同开发中,经常需要合并不同分支的代码。
VSCode提供了功能强大的合并工具,可以帮助我们合并这些分支中的代码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
源码管理工具,svn,cvs,hg,git,VSS什么是源码管理工具简单地说,源码管理工具是一种记录代码更改历史,可以无限回溯,用于代码管理,多个程序员开发协作的工具.常见的功能有:1.更新到任意一个版本(不用担心代码的修改错误,和丢失等)2.日志记录(说明修改目的)3.分支,标签(用于协作开发,和便于阶段性产品发布)4.合并,比较(用于多人,多分支之间的代码合并,比对等)为什么要使用源码管理工具你可能会想,需求出来了,老大把我要做的功能告诉我,我去写代码就行,完事了,我再打包发给他让他加入到整个代码中,然后测试.有问题再反馈回来,我再修改,再打包.这样不是也挺好吗?当然我要说,这样当然是可以的,但是如果你们要修改同一个文件怎么办?你们还得事先商量确定某个时间某个人不能修改等等.或者新建不同的名字的文件,最后由一个人来合并.如果你的团队不是3,5个人,而是30,50人呢?你这样的沟通和重复性工作的成本会有多高?于是聪明的程序员便有了版本控制的设想,继而有了源码管理工具的不断推陈出新.如果你稍微开发过一个正式的项目,想必你对cvs,svn,hg,git这些也一定有所耳闻.下面就简单根据我个人的一些项目经验来介绍下2类的源码管理工具.源码管理工具介绍简单地可以将源码管理工具分为两类:svn这样的集中式的,和hg这样的分布式的.因为我个人对svn和hg比较熟悉,所以下面就以这二种具体的工具为代表来说明二者的优劣.第一次接触源码管理工具就是svn,想着那时对于什么增量修改,历史记录等概念不清楚时,也曾在写了2小时的代码后,提交svn时失误而导致文件被删除的悲惨历史.惨痛的教训让我开始了系统地学习svn的过程,一天后,我明白了它的原理,这时会很晰明确地知道每个命令的结果,也会很清楚地知道自己怎样做才是最合适的.简单总结一些best practice:Check in early,Check in often(这个是很重要的,尤其是多个开发的团队,这样可以大大减少冲突的可能)发现冲突第一时间解决(不能将冲突留给你的同事,发现了第一时间解决,如果需要要向冲突的相关同事沟通交流)只提交需要提交的文件(一些临时文件不要提交,不能污染整个代码库)熟悉常用的命令,如add/rm/up/ci/co/stat/merge/diff等大致一个月后,我逐渐明白一个源码管理工具对于一个项目的意义和作用.自此后,我去公司实习我会第一时间询问他们是否使用源码管理工具,使用哪种工具.而对于自己的一些业余项目,我也通常是使用google code来管理起来,甚至当前的这些博客的源码(不过最近已经迁移到了hg的一个hosting service下,原因请参考下文).到了去年的晚些时候,开始知道了分布式源码管理工具,了解了它与集中式工具的区别和优势.也听到了一个小故事,说是Linux的作者Linus大牛不满svn,于是自己花了一周(?抱歉具体时间记不得了)写了个分布式的代码管理工具,于是就有了大名鼎鼎的git.我们不去羡慕Linus大牛的英明神武(啊,真是牛啊!),我们来关心他的作品分布式代码管理工具.它与集中式的究竟有什么区别呢?我以hg为例来说明与svn的不同:1.每个work copy(也就你自己检出的代码)都具有完整的代码库信息,这也就是说:对于检出的代码,我们无论是查看log,提交代码,或者删除等都是本地的操作,而无需与服务器打交道2.只有push/pull两个操作(其它的初始化等操作不计入内)与服务器打交道,其它的日常操作都是本地3.集中式的版本文件信息(所有的版本文件信息都位于项目根目录下的.hg目录下,而不像svn每个目录下都有一个.svn目录)4.简单的忽略文件设置:.ignore文件中可以简单地设置你不希望提交到版本库的文件(支持通配符)5.简单地说,我更喜欢hg的原因是,我无需再为了查看log而等半天(与服务器通信),这样大大地方便了网络不好,分布式的开发环境.一些建议我不说使用了代码管理工具的公司就是好公司,但是我肯定没有使用代码管理工具的公司肯定不是好公司.同样,使用了代码管理工具的程序员不一定就是好程序员,但是没有使用代码管理工具的程序员肯定不是好程序员(至少没有经历过一个真正的多人协作的项目).以我个人的项目经历,我极力向我的读者建议:如果你没有使用过代码管理工具,请赶紧去学习一种(个人推荐hg).如果你还使用的是svn,推荐你去尝试下hg.如果你在做一些业余的项目,也建议你使用代码管理工具,即使是一个人.甚至你也可以将文档,知识管理,博客等也用代码管理工具版本化起来.当然这里提到的几种代码管理工具都是有GUI版本的和命令行版本的,个人还是极力推荐使用命令行,为什么,可以参考这里如何提高程序员的生产率.结论代码管理工具对程序员而讲是必不可少的开发工具,选择一个合适的工具并且熟知它的常用命令,会让你的开发(你的团队的开发)变得事半功倍.后记推荐几个常用的hosting服务,常用的如下:google code(支持svn,hg)bitbucket(hg,极为推荐,免费提供1个private和任意多个public的代码库)github(git)当然上述的都是免费的服务,建议大家尝试下.VSS、SVN、Clearcase,在此做一个小小的总结一、Visual Source Safe(简称VSS)VSS是微软的产品,是配置管理的一种很好的入门级的工具。
VSS最初的名字叫Source Safe,是一家小公司的产品,92年曾经获了最佳小型管理工具奖,然后立即被微软收购。
但是微软收购的只是source safe的Windows版本,在美国还有另外两家公司分别获得了继续开发和销售source safe的Mac版本和Unix版本的许可,在MS买进vss之后,基本上没有对vss进行任何的研发,MS内部自身也不用vss。
SourceSafe长得很象早先土气的文件管理器,的确难看。
但是难看不碍事,SourceSafe的优点可以用8个字来概括“简单易用,一学就会”,这个优点是它老妈Microsoft遗传下来的,是天生的。
虽然SourceSafe并不是免费的,但是在国内人们以接近于零的成本得到它,网上到处可以下载啊。
当然Microsoft也不在乎这个小不点的软件,它属于“买大件送小件”的角色。
如果你合法地得到Visual Studio,你就得到了免费的SourceSafe。
评价如下:易用性:★★★★★易学易用是VSS的强项,VSS采用标准的windows操作界面,只要对微软的产品熟悉,就能很快上手。
VSS的安装和配置非常简单,对于该产品,不需要外部的培训(可以为公司省去一笔不菲的费用)。
只要参考微软完备的随机文档,就可以很快的用到实际的工程当中。
功能:★★★VSS的配置管理的功能比较基本,提供文件的版本跟踪功能,对于build和基线的管理,VSS的打标签的功能可以提供支持。
VSS提供share(共享)、branch(分支)和合并(merge)的功能,对于团队的开发进行支持。
VSS不提供对流程的管理功能,如对变更的流程进行控制。
VSS不能提供对异地团队开发的支持。
此外VSS只能在windows 平台上运行,不能运行在其他操作系统上。
安全性:★★★VSS的安全性不高,对于VSS的用户,可以在文件夹上设置不可读,可读,可读/写,可完全控制四级权限。
但由于VSS的文件夹是要完全共享给用户后,用户才能进入,所以用户对VSS的文件夹都可以删除。
这一点也是VSS的一个比较大的缺点。
总体成本:★★★★VSS没有采用对许可证进行收费的方式,只要安装了VSS,对用户的数目是没有限制的。
因此使用VSS的费用是较低的。
技术支持:★★★★★由于VSS是微软的产品,可以得到稳定的技术支持。
二、SVN(Subversion)-CVS(Concurrent Version System)的替代和升级版本先说说CVS,CVS是开源代码的配置管理工具,其源代码和安装文件都可以免费下载。
记得在学校读研的时候,学校实验室的代码全部都用CVS管理,为啥?很简单,两个字:免费!它与Eclipse配合,基本上Java的代码编写,代码管理和版本管理都可以“免费”搞定了。
SVN(Subversion)是近年来崛起的版本管理工具,被誉为cvs的接班人。
目前,绝大多数开源软件都使用svn作为代码版本管理软件。
虽然在2006年时SVN的使用族群仍然远少于传统的CVS,但已经有许多开放源码团体决定将CVS转换为SVN。
已经转换使用SVN的包括了FreeBSD、Apache Software Foundation、KDE、GNOME、GCC、Python、Samba、Mono以及许多团体。
许多开发团队换用SVN是因为Trac、SourceForge、CollabNet、CodeBeamer等专案协同作业软件以及Eclipse、NetBeans等IDE提供SVN的支援整合。
除此之外,一些自由软件开发的协作网如除了提供CVS外,现在也提供专案开发者使用SVN作为原码管理系统,JavaForge、Google Code以及BountySource则以SVN作为官方的源码管理系统。
2009年,绝大多数CVS服务已经改用SVN。
CVS已经停止维护。
易用性:★★★★Subversion支持linux和windows,更多是安装在linux下。
svn服务器有2种运行方式:独立服务器和借助apache。
2种方式各有利弊。
目前业界评价的SVN易用性正在提高。
功能:★★★★SVN的功能除具备VSS的功能外,还具有:它的客户机/服务器存取方法使得开发者可以从任何因特网的接入点存取最新的代码;它的无限制的版本管理检出(checkout:注1)的模式避免了通常的因为排它检出模式而引起的人工冲突;它的客户端工具可以在绝大多数的平台上使用。
同样,SVN也不提供对变更流程的自动管理功能。
安全性:★★★★一般来说,SVN的权限设置单一,无法完成复杂的权限控制;但是SVN通过SVN ROOT 目录下的脚本,提供了相应功能扩充的接口,不但可以完成精细的权限控制,还能完成更加个性化的功能。
总体成本:★★★★★SVN是开发源码软件,无需支付购买费用。
技术支持:★★★同样因为SVN是开发源码软件,没有生产厂家为其提供技术的支持。
如发现问题,通常只能靠自己查找网上的资料进行解决。
三、ClearCaseRational公司的ClearCase是软件行业公认的功能最强大、价格最昂贵的配置管理软件。
ClearCase主要应用于复杂产品的并行开发、发布和维护,其功能划分为四个范畴:版本控制、工作空间管理(Workspace Management)、构造管理(Build Management)、过程控制(Process Control)。