版本控制:
是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统
版本控制系统的分类
1.集中化版本控制系统:典型代表SVN
优点:
①由一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人都通过客户端连到这台服务器,取出最新的文件或者提交更新
②每个人都可以在一定程度上看到项目中的其他人正在做些什么
③管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统;要远比在各个客户端上维护本地数据库来得轻松容易
缺点:
中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内, 谁都无法提交更新,也就无法协同工作
2.分布式版本控制系统:典型代表Git
客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来(所有版本的改动都会进行记录)
该系统都可以指定和若干不同的远端代码仓库进行交互。这样,你就可以在同一个项目中分别和不同工作小组的人相互协作
该系统在管理项目时存放的不是项目版本与版本之间的差异.它存的是索引(所占空间小,每个客户端都能放下整个项目的历史记录)