Git入门简单介绍
刚开始学习Git,觉得有必要总结总结一些最基础的东西...
相信你总会看到这样的话:
Git是由Linux之父Linus为了更好的管理linux内核开发而创立的分布式版本管理工具(软件配置管理软件)。
然而开始并不懂是什么意思...
一、那么首先看一看版本工具的发展史:
1、cvs:
版本管理工具的始祖,1985年被大规模使用,属于集中式版本管理系统。
2、svn:
版本管理工具的集大成者,2000开始被发扬光大,逐渐替换掉了cvs,集中式版本管理系统。
3、git:
2005年到现在日臻完善,高度易用,速度飞快,属于分布式管理系统。
你可能会问那么集中式和分布式管理有什么区别呢?
1.集中式版本控制系统
有一个中央服务器,干活的时候,用的都是自己的电脑,需要先从中央服务器获取最新的版本,然后开始干活,干完活了,再把自己的修改推动给中央服务器。
缺点:需要联网的情况下才能使用,上传速度慢,一旦中央服务器崩溃,那么整个系统将毁于一旦,模式如下图
2.分布式版本控制系统
分布式版本控制系统没有中央服务器,每个人的电脑上都用一个完整的版本库,只要交换对方的修改就行,把各自的修改推送给对方。
分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。
优点:安全性高,不需要联网进行操作,模式如下图:
(参考廖雪峰老师的Git教程)
二、然后你要想到github了吧,它们的区别在于:
git是一个版本控制工具,是个软件
github是个网站,亦是一个用git做版本控制的项目托管平台。
类似c语言和Microsoft Visual C++ V6.0的区别
类似于球和球场的区别...
三、再说说git真正有的作用吧,通俗来讲有如下几个方面:
1、备份文件:
类似于U盘、网盘,又区别于它们,git可以备份各个时间各种不同状态,而它们只能备份最新状态,也极其麻烦。
2、记录历史:
git可以随时查看历史记录、修改记录等等,比如什么时候、谁做了什么,都能随时清楚的。
3、回到过去:
它可以像机器猫的时光机一样,回到过去的任意一个状态,即使你不小心或者彻底删除了一些文件,照样可以在历史本分中找回。
4、多端共享:
类似于苹果的icloud等各种云端存储,可以让你在不同设备上获得最新的文件,不用带着硬件设备跑来跑去
四、总结:
可以最后看看这个生动的介绍哦: http://rogerdudler.github.io/git-guide/index.zh.html
总之团队开发就像英雄联盟,大家各有所长,独挡一面的英雄个人实力是有限的,如果不知道合作,总会有冲突和矛盾,导致止步不前,而版本管理工具就负责解决英雄之间的各种冲突问题,为联盟提供一个更好的发展协作平台。