软件版本控制(SVN/CVS)详解
来源:互联网 发布:sem与seo概念 编辑:程序博客网 时间:2024/06/07 10:32
SVN/CVS都是版本控制和项目数据管理工具。
现在我们从"为什么有这些工具?",“这些工具的发展历史?”,"主要作用?""哪些人使用?"等方面讲解。从根本意义上去理解SVN/CVS。
Software Configuration Management 即软件配置管理,也就是软件版本管理控制。简称 SCM
为什么会有SCM?
在比较大的项目中,一般需要的开发人员比较多,所以凸显的问题就太多了,比如:
在许多人共同开发一个项目下,一个程序员如何得到最新版本?
对于版本的修改情况,代码哪些更新过了?
如何查询或者更新到之前的版本(当前版本出问题的情况下)。
项目经理准确的得到当前的工作进度。
开发人员都改变相同版本的代码,做了同样的工作或者代码发生冲突。
记录开发历史,不方便比较不同和修改。
..........................
SCM就是能够解决这些问题而诞生。
SCM历史?
起始于1970年,先用于 UNIX下开发的版本管理控制。
发展历程:
起始于:
SCCS (Source Code Control System)
RCS (Revision Control System)
演变:
SCCS→Codemgr→TeamWare
RCS→CVS
SVN --------SVN是异军突起,它满足CVS的功能,并且解决了CVS一些致命的缺点。所以现在大部分都在使用SVN了。
SCM主要作用?
Version Control(版本控制和产品数据管理)
其他----(从程序员的角度来说很少用哦)
SCM的主要术语?
(了解概念)
Repository ---代码仓库
Workspace ---工作台 (就是客户端的上传下载代码的目录)
Delta () ---不同版本的差别的保存。(文件和项目都有不同的版本,不同的版本比较不同的变化来做保存)--了解概念
Baseline ---基线(HEAD)
Branch ---分支(拷贝出两个项目,发展不同的功能或者做bug修改)
Label ---标签(Tag)
国际性的一些大公司,他们开发自己的版本控制和代码管理工具,而且更自动化,可以自己更新,实现测试代码,发现bug等强大的功能,但是一般都是不开源的私人工具。例如:微软的操作系统团队版本控制工具。
SCM哪些人在用?
Project manager -----(项目经理)
Software engineer -----(开发者)
QA manager -----(测试经理)
QA engineer -----(测试人员)
Build and release engineer ------(构建经理)
SCM目前使用最多的工具?
CVS
SVN
VSS(微软)
ClearCase
TeamWare
---------------分割线-----------------------
写本文是想彻底去了解为什么会产生版本控制工具,他的历史,以及明白现在用的SVN是如何发展到现在这一步的。
文章做了概念性的说明,没有去项目分析每一句。只希望快速的去明白一些概念。(有 概念综合征的人 请绕道,或者请看下篇实际操作)
下篇对SVN在windows下的操作和SVN在Eclipse里面做的操作做一个总结(从程序员角度)
SVN在windows下的操作:http://blog.csdn.net/todaymz/article/details/8738919
Eclipse使用SVN的基本操作:
转载请说明出处:http://blog.csdn.net/todaymz/article/details/8738872
- 软件版本控制(SVN/CVS)详解
- 版本控制软件(CVS,SVN)常见的术语
- 版本控制:CVS、SVN、VSS
- SVN版本控制软件-图片含义详解
- SVN版本控制软件
- SVN版本控制软件
- 版本控制工具SVN和CVS
- 版本控制工具SVN和CVS
- paip.版本控制CVS-SVN-TFS总结
- 版本控制工具比较-CVS,SVN,GIT
- 版本控制工具比较-CVS,SVN,GIT
- 版本控制工具比较-CVS,SVN,GIT
- 删除SVN、CVS等版本控制信息
- 删除SVN、CVS版本控制信息
- 版本控制工具(CVS、SVN、GIT)简介
- 版本控制工具(CVS、SVN、GIT)简介
- 【版本控制】git,svn,cvs 粗略比较
- 常用的版本控制软件的介绍(vss,cvs,svn)
- Android学习笔记---28_网络通信之通过HTTP协议实现文件上传,组拼http 的post方法,传输内容
- 黑马程序员-GUI
- CSS3之边框圆角:border-radius
- Eclipse调试进入JDK源码
- thinkphp中如何利用checkbox批量删除数据
- 软件版本控制(SVN/CVS)详解
- android短彩信数据库设计(三)
- m^n实现,利用递归的方法
- 黑马程序员_单例设计模式
- char *的十六进制字符串转化成long
- Android资源管理框架(Asset Manager)简要介绍和学习计划
- Poj 2155 Matrix
- Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法
- Grep学习笔记