关于版本控制系统
所谓的版本控制系统就是记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。因此他的核心功能就是历史回溯。整个版本控制系统经历了三个阶段的发展。
本地版本控制系统
最初人们为了实现历史回溯,习惯在特定的时间点复制整个项目目录来备份不同的版本,通常为了区分也会修改项目目录的名称并加以备份时间以示区别。
手动复制容易出错且不方便管理,于是就有人开发了一套工具来实现自动复制并使用简单的数据库来记录文件的历次更新差异,这就是所谓的本地版本控制系统:
集中化的版本控制系统
随着项目越来越大就需要不同的开发者协作,因此集中化的版本控制系统应运而生。相当于在一个远程服务器上保存版本数据来供所有的开发者使用。
分布式版本控制系统
集中化的版本控制系统有一个问题就是严重依赖服务器,如果服务器宕机就会导致整个系统瘫痪。并且服务器如果发生损坏会导致整个提交历史丢失。于是分布式版本控制系统就诞生了。
分布式版本控制系统会将整个代码仓库完整的克隆下来,每一个客户端都有整个版本的内容,这样即使服务器宕机也不会影响客户端的操作,而只有需要我们与其他人进行协作时上传到服务器上即可。