CVS及SVN都是集中式的版本控制系统,而Git是Linus用C写所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。的一种分布式的版本控制系统,Git与集中时的版本控制系统的不同在哪里呢?集中式,顾名思义就是版本库是集中存放在中央服务器的,用户想要获取数据先要从中央服务器获取最新的版本然后开始工作,最后再把数据返回给中央服务器,是由一个中央服务器总揽的,集中控制的其他的用户,所以如果中央服务器出现问题了,其他电脑将无法进行工作,就会出现阻塞问题,效率太低,影响用户的体验。而且集中式版本的控制系统必须要在联网的情况下才能使用,所以如果在局域网内还可以,宽带够大,速度够快,可是要是在互联网上,网速慢的话就会等好久。
而Git恰恰相反,每一个电脑就相当于一个独立的版本库,而且数据是通用的,如果这台电脑坏了,从另外一台电脑上copy过来就可以了。不用联网也是免费的。Git迅速成为最流行的分布式版本控制系统,GitHub是基于Git的一个代码托管平台,众多开源项目都托管在GitHub上,它为开源项目免费提供Git存储,包括jQuery,PHP,Ruby等等。
所以作为编码者,就必须要知道GitHub,现在GitHub成为一种流行的托管服务。