本地VCS: 手工操作 工作空间和仓库都在本地
优点:简单,易学
缺点:不够程序化,不能跨机器
集中式VCS: cvs,svn 这类系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,协同工作的人都可以通过客户端连接到这台服务器,获得最新的文件或者提交更新。
优点:可以多人协同工作,提高工作效率。
缺点:只有一个单一的集中管理服务器,容易出现单点故障,容易负载过重,不安全。
分布式VCS:git,bitkeeper,Mercurial 有远程仓库和本地仓库, 支持多人协同工作
优点:适合分布式开发,强调个体。速度快、灵活。公共服务器压力和数据量都不会太大,离线工作。
缺点:版本间兼容性有问题(上一个版本的内容在另一个版本可能不能用)