初识Git

一、什么是Git?

Git就是一个分布式版本控制器。

二、集中式版本控制器和分布式版本控制器的区别?

1. 集中式版本控制器:

如CVS(最早、开源、免费)及SVN(开源、免费,目前用的最多)


集中式版本控制器
  1. 工作流程
    集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

中央服务器: 保存所有文件的修订版本,所有代码库

  1. 缺点
    (1)对网络的依赖性强,必须联网才能工作,上传速度受网络状况、带宽的影响。
    (2)如果中央处理器发生故障,所有人都没法干活(无法提交更新、还原、对比等)。
    (3)安全性低。如果磁盘发生故障,信息尚无备份,就会有数据丢失的风险。

2. 分布式版本控制器:如Git

分布式版本控制器
  1. 工作流程

分布式版本控制系统是没有“中央服务器”,每个人的电脑上都是一个完整的版本库,工作的时候,不再需要联网。开始工作前,在客户端克隆出完整的代码仓库,然后就可以在家、在公交车等等随心所欲地修改代码并提交了,提交到本地电脑,等到有网的时候就可以一次性地将本地仓库推送到远端仓库(临时中心服务器)中,这样一来,每个人都可以独立进行改动资料,并且所有的改动都是在完整资料信息的环境下进行的。

既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

  1. 优点
    (1)本地客户机进行操作,不需要联网,离线工作,快速。
    (2)安全性高,每个人电脑里都有完整的版本库,如果一个人的电脑坏了,复制其他人的一份就可以了。
    (3)原子性提交,提交不会被打断(git)。
    (4)工作模式非常灵活(传统的集中式工作流 + 特殊工作流 + 特殊工作流和集中式工作流的组合)。
  2. 缺点: 缺少权限管理、命令复杂混乱

你可能感兴趣的:(初识Git)