文章目录
一、版本控制的分类
1、版本控制
- 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。
- 版本控制的内容主要包括:检入检出控制、分支和合并、历史记录。
2、集中式版本控制系统(CVCS)
典型代表是 SVN,有如下特点:
- 管理方便,逻辑明确,操作简单,上手快
- 使用集中式服务器,安全易管理
- 对服务器性能要求高,数据库容量经常暴增,体量大
- 必须联网!如果不能连接到服务器上,就不能提交,还原,对比等等
- 分支管控不灵活
还有一个风险,就是如果源码库出现问题,导致项目代码丢失,那么大家手里的都是部分代码,就算勉强合并到一起,也不能保证项目源码的准确性。
3、分布式版本控制系统(DVCS)
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
典型代表是 Git,有如下特点:
- 适合分布式开发,每一个个体都可以作为服务器。每一次Clone就是从服务器上pull到了所有的内容,包括版本信息
- 公共服务器压力和数据量都不会太大
- 速度快、灵活,分支之间可以任意切换
- 任意两个开发者之间可以很容易的解决冲突,并