版本控制系统
为什么要有版本控制系统
在开发过程中,经常需要对一个文件进行修改,甚至删除,但是我们又希望能够保存这个文件的历史记录,如果通过备份,那么管理起来会非常的复杂。
什么是版本控制系统
版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
版本控制主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了已录下来。每一次文件的改变,文件的版本号都将增加 ,类似 存档。
版本控制系统可以对任何类型的文件进行版本控制。
【使用webstorm演示版本控制系统】
版本控制系统的分类
参考文章:关于版本控制的介绍
本地版本控制系统
本地版本控制系统就是在一台机器上,记录版本的不同变化,保证内容不会丢失。
缺点如下:
如果多人开发,每个人都在不同的系统和电脑上开发,没办法协同工作。
集中式版本控制系統
svn是集中式的版本控制系统,集中式版本控制系统都有一个单一的集中管理的服务器(中央服务器),保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。
- 需要一个中央服务器来管理代码的的版本和备份
- 所有的用户电脑都是从中央服务器获取代码或者是将本地的代码提交到中央服务器
- 依赖与网络环境,如果连不上中央服务器,就无法提交和获取代码
分布式版本控制系统 git
git是分布式的版本控制系统。分布式版本控制系统的客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。
- 需要一台服务器作为代码仓库
- 每个用户电脑都是一个服务器(代码仓库),并且和代码仓库是镜像的,用户修改和获取代码都是提交到自己的服务器当中
- 不需要网络就可以进行工作
- 当连接网络时,用户可以选择将自己的服务器与代码仓库进行同步