SVN、CVS、VSS区别
废话不多说,撸起袖子敲黑板 !~~
#首先向大家简要描述一下SVN与CVS、VSS的介绍与对比:
介绍:
三种都是版本控制软件, 多数用于源代码管理
1、CVS(Concurrent Version System)版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。实际上CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型
2、Microsoft Visual SourceSafe是微软公司出品的版本控制系统,简称VSS
3、SVN(Subversion) 一个优秀的开源版本控制系统。是近年来崛起的版本管理工具,可以说是cvs的接班人。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。SVN服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。SVN是可以代替CVS的下一代控制软件。
简单对比:
1、vss是微软收费的,svn是开源免费的
2、vss必须有客户端,svn可以用客户端,也可以用命令行模式,还可以用网页方式只读访问
3、vss只支持windows,svn支持windows和linux
4、vss是锁定-编辑-解锁模式,svn虽然也支持锁定,但默认是修改-冲突-合并模式
5、vss的版本号对应的是单个文件,svn的版本号对应的是整个版本库
6、目前用的最多的是svn,因为它开源、免费、有众多其它软件支持配合
7、工作方式:
CVS(ConcurrentVersionSystem)上一代的版本控制软件,版本控制的方式主要是“合并--修改--提交”,也就是说当系统版本和当前用户的版本不一样的时候,服务器会要求通过合并服务和客户端的版本,生成一个新的版本。提示用户版本冲突,用户修改了对应版本之后,就可以进行相应的提交了。
VSS(VisualSourceSafe)微软出的一款版本控制软件,它主要方式是通过"锁定--修改--解锁--提交"的方式进行版本控制的。也就说当一个用户修改一个版本的文件时,锁定该文件,使其他用户不能够进行修改。只有当此用户解除锁定,并且提交文件以后,其他用户才可以进行文件的修改。
SVN和版本控制软件CVS,VSS的比较,SVN是他们的综合,就是说具有以上两种的功能。
#最后我们看一下SVN和CVS、VSS三者的优缺点。
优缺点:
CVS:它工作方式,可以使多个用户并行工作。这样对于正在编写软件的项目团体有利。
但是版本控制某个项目下的一些核心文件比较困难,假如团队中的每个人都写文件的权限。这样往往会不小心的让核心代码被修改。
VSS:工作方式决定它就是一个文件只能由一个用户修改。其优点可以锁定核心代码,缺点则是工作效率比较低。所以适合小团队进行开发。
SVN:两者的综合,取两家之长。还有它具有自己统一的客户端,在windows环境下,通过鼠标右键就可以进行操作,易用性明显强于前面两者。
当然,除了以上管理软件,还有ClearCase等配置工具,它功能强大,版本管理和分支管理完全自动化,但是权限管理只能是基于Windows的用户安全权限管理。
有兴趣的朋友可以自行学习一下。
SVN、CVS、VSS区别的更多相关文章
- cvs vss svn和git比较
cvs vss svn和git比较 特征 CVS Git Mercurial Subversion 是否原子提交 CVS: 没有. CVS提交不是原子的 Git: 是的. 提交都是原子的 Mercur ...
- SVN与CVS的区别大全(转载)
本节讲解SVN与CVS的区别,主要包括是否更好的冲突标识与处理,是否有更多的本地/离线操作以及元数据管理问题. 更好的冲突标识与处理 通过是否进行更好的冲突标识与处理看SVN与CVS的区别:C ...
- GIT,SVN,CVS的区别比较
Git .CVS.SVN比较 项目源代码的版本管理工具中,比较常用的主要有:CVS.SVN.Git 和 Mercurial (其中,关于SVN,请参见博客:SVN常用命令 和 SVN服务器配置) 目 ...
- GIT和SVN之间的区别及基本操作对比
1)GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如 SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或 ...
- 版本控制、SVN、VSS
ylbtech-Miscellaneos: 版本控制.SVN.VSS 1.A,版本控制返回顶部 1, 版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所 ...
- git svn 5点区别
如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 ...
- Miscellaneos:版本控制、SVN、VSS
ylbtech-Miscellaneos:版本控制.SVN.VSS 版本控制.SVN.VSS 1.A,版本控制返回顶部 1, 版本控制(Revision control)是一种软体工程技巧,籍以在开发 ...
- Git和SVN之间的区别
如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 ...
- git和svn有什么区别
如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 ...
- svn与git区别简介,git分支操作在mac客户端soureTree和使用命令行如何实现
svn与git区别简介: 性能方面(经过实践的) svn:下载速度慢,因为它其中的源文件太多,并且在show log日志的时候每次都需要去服务器拉取,速度很慢 git:下载速度快,并且git clon ...
随机推荐
- window下安装itchat库
itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单. pip 是 Python 著名的包管理工具,在 Python 开发中必不可少. 1.安装 检查你有没有安装了pip:运行 ...
- 【腾讯Bugly干货分享】Android 插件技术实战总结
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/1p5Y0f5XdVXN2EZYT0AM_A 前言 安 ...
- 第58节:Java中的图形界面编程-GUI
欢迎到我的简书查看我的文集 前言: GUI是图形用户界面,在Java中,图形用户界面我们用GUI表示,而GUI的完整英文为: Graphical User Interface(图形用户接口), 所谓图 ...
- 第55节:Java当中的IO流-时间api(下)-上
Java当中的IO流(下)-上 日期和时间 日期类:java.util.Date 系统时间: long time = System.currentTimeMillis(); public class ...
- 第47节:Java当中的基本类型包装类
Java当中的基本类型包装类 01 基本数据类型对象的包装类 什么是基本数据类型对象包装类呢?就是把基本数据类型封装成对象,这样就可以提供更多的操作基本数值的功能了. 基本数据类型对象的包装类8个: ...
- java 实现一个beautiful的弹层和具体功能
先看一下弹层的效果: 点击确定跳转百度页面,点击取消弹层消失. 我这个弹层是在layui找的, 1. 需要layui.css文件和layui.js文件 (想我这样笨的人,没有同学的告知,我都不知道去哪 ...
- Testing - 敏捷测试
敏捷测试(Agile Testing) SM= Scrum Master PO= Product Owner PB= Product Backlog SB= Sprint Backlog Scrum ...
- PHP文件基本操作及文件的上传和下载
此篇实现了PHP对文件的系列操作,包括文件的读写和处理.文件的上传.文件的下载. 1.简单写文件:file_put_contents("文件名","数据字符串" ...
- Docker 网络背后的原理探索
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 知其然而不知其 ...
- Fiddler修改请求、返回数据
相信你们有听过说“绕过前端”,但是可能想不到要怎样才能绕过前端呢? 首先,我们要知道什么是绕过前端?比如:登录用户名限制数字.6位,用户在登录页面填写用户名符合要求,使用Fiddler作为代理,拦截登 ...