准备为项目架设版本控制库
今天在试验室做了版本控制相关只是的报告,内容摘录下来做个记号,当然其实都是从这几天浏览的文章里提取出来的。
版本控制概念
版本控制(Revision control)是一种软件工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。
版本控制更易理解的名称:源代码控制
源代码控制系统是一个必须能管理那些在软体计划发展时源代码所做的改变。软体开发者需要一个完整的源代码改变历史纪录, 以便於在发生问题时,能够追溯到以前稳定的版本。
版本控制软件产生背景
随着计算机应用范围的日益广泛深入,应用软件的规模及复杂程度日趋大型化、复杂化,这就导致软件开发的方式也从早期的单兵作战式或手工作坊式渐渐转变为集团化、工厂流水线式的团队协作开发方式。在这种开发模式中会遇到一些非常棘手的问题:
1. 需要将整个软件版本恢复到以前的某一时间的状态。
2. 控制某一程序在同一时间只能一个开发人员修改。
3. 限制随意修改程序。
4. 对每个开发人员编写的程序质量进行评估。
在软件开发中引入版本控制系统
目前,一些版本控制软件能够与各种流行的开发工具进行无缝的连接,能够完整地保存开发中对应用程序每一个源文件所有的修改记录,它的巨大作用表现在:
1. 随时将程序回复到以前某一时间点
2. 实现程序的互斥性修改
3. 对程序修改进行有效的权限管理
4. 将开发环境与测试环境、运行环境进行有效的隔离
5. 评估软件开发人员编写的程序质量,控制软件开发的进度
6. 管理文档
SVN (Subversion)
SVN全名Subversion,即版本控制系统。SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。Subversion 是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源码。