概念
- 维护工程蓝图的标准做法
- 追踪工程蓝图从诞生一直到定案的过程
- 记录若干文件内容变化
- 以便将来查阅特定版本修订情况的系统
为什么要版本系统
版本控制的优点
- 协同合作
- 版本存储
- 恢复之前的版本
- 了解发生了什么
- 备份
没有版本控制
- 备份多个版本,费空间,费时间
- 难于恢复至以前正确版本
- 容易引发BUG
- 解决代码冲突困难
- 代码管理混乱
- 难于追溯问题代码的修改人和修改时间
- 无法进行权限控制
- 项目版本发布困难
集中式与分布式
集中式
概念
- 版本库是集中存放在中央服务器的
- 开发前要先从中央服务器取得最新的版本
- 完成后再把自己的活推送给中央服务器
缺点
- 必须联网才能工作
- 安全性稍低
分布式
概念
- 可以没有中央服务器
- 每个人的电脑上都是一个完整的版本库
- 不需要联网
特点
- 本地客户机操作,不联网也不影响工作
- 离线工作,DVCS 比 Subversion 快大约3-10倍
- 安全性更高
常见版本控制软件
- CVS
- ClearCase
- VSS
- SVN(Subversion)
- GIT
思维导图