1 首先,先介绍版本控制
版本控制(Version Control Systems)是一种记录一个文件或若干个文件内容变化,以便将来查看特定版本修订情况的系统。
其实就是,帮助我们备份文件的每一次修改,并且可以自由切换到任意的备份版本。
为什么需要版本控制?
。。。
答:通常备份一个文件,直接手动把index.html改成index1.html或者index.html.bak等形式,然而,这种方式对于单个文件我们还能够管理,但是对于整个项目而言(成百上千个文件),那便是噩梦了! 因此,我们不得不借助于软件来实现。
实现版本控制的软件有很多种类,大致可以分为本地版本控制系统、集中式版本控制系统、分布式版本控制系统。
本地版本控制系统
我们可以记录下文件的每一次修改,如下图所示,文件被修改后,记录下了3个版本(version1, version2, version3),这样我们通过版本控制系统(软件)便可以恢复到任意版本。
缺点:功能比较单一,比如很难实现多人协同开发
集中式控制版本系统
它通过单一的集中管理的服务器,保存所有文件的修订版本,协同工作的开发者都通过客户端连到这台服务器,取出最新的文件或者提交更新。其代表为SVN,如下图所示。
缺点:严重依赖网络,若集中的服务器出现故障,将发生数据丢失的严重后果
分布式控制系统
分布式版本控制系统,意味着不需要中央服务器,每个协同开发者都拥有一个完整的版本库,因此,任何协同开发者用的服务器发生故障,可用其它协同开发者的本地仓库进行恢复。
分布式控制版本系统的代表作,git,下次将介绍git的一些基本命令,git也有很多优质的文档,大家可以进行查阅磨炼。