是什么(What)
- Git是一个自由开放源码的分布式版本控制系统,用于处理从小型到大型项目的速度和效率 。- 官网
- Git是目前世界上最先进的分布式版本控制系统(没有之一)。-廖雪峰
也许你会问什么是版本控制系统呢?
版本控制是记录一种或若干个文件内容发生变化,以便将来查阅特定版本修订情况的系统
谁提出了(Who)
Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git
为什么提出Git(Why)
在Git被提出之前,已经有集中式版本控制系统,如SVN、CVS等。那为什么要提出Git呢?
因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。
这块提到一个集中式版本控制系统和分布式控制系统,他两的区别是什么呢?
集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
集中式版本控制系统最大的毛病就是必须联网才能工作。
分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
特点(How)
优点
- 离线状态
- 速度快
- 自由选择工作方式
- 模块化
- 可以回退
缺点
目前,在我用Git的过程中,没有觉得不好的地方。