作为程序开发人员,我们每天都离不开和Github打交道,毫无疑问,Github给我们的开发带来了很多便利。那么想要更高效率地使用Github来托管代码,我们就一定需要对其内核——Git有一个清楚深刻的认识。
首先,让我们思考一个问题,Git是什么?
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
那什么是版本控制系统呢?
让我们以开发一款大型软件为例。在没有Git的时代,假设在一次开发过程中,你所在的团队负责编写一个网站后端的业务代码,而你和另外一个团队成员被要求合伙编写Service层,那么你们开发时,必然会遇到许多的问题。比如:两个人对彼此所写代码不熟悉,重复开发同一段逻辑内容,甚至不知道对方在项目的哪个地方动了手脚等等。当需要对方在自己代码的基础上进行修改添加时,只能把自己的项目打包发给对方,等待对方修改完再发回来。这还是只有两人进行开发的情况。如果是上千人承包的大型项目,那么对项目版本迭代的控制将使人崩溃!
那么,我们可不可以建立一个公共的代码托管平台,并且把项目部署在上边呢?当有人需要对项目进行更改或者增删时,就领取一个分支进行修改,修改完了再提交上去,这样所有人所能看到的项目进度都是一致的,大家也不需要为版本的控制耗费诸多精力了!
因此,在业界的呼声下,Linux之父Linus在两周内用C语言写了一个分布式版本管理系统,它就是后来鼎鼎大名的Git。之后,Linus在一个月内就把Linux的内核源代码迁移到了Git上。Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。
下一节:创建版本库