001-git简介
版本控制系统(Version Control System)
目前流行的版本控制系统主要分为两种——集中式和分布式。
集中式版本控制系统
代表:SVN
集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家修改,修改完了,再放回图书馆。
- 优点:使用简单,容易理解。
- 缺点:受中央服务器节点影响较大,如果中央服务器出现问题,则无法使用。同时无法很好地处理多分支并行开发的情况。
分布式版本控制系统
代表:git
分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
- 优点:每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比同时在各个开发者机器上维护本地数据库来得轻松容易。
- 缺点:必须联网才能工作,如果在本地修改,不能立即知道其他人的修改。