# （一）认识Git与GitHub




#### Git的诞生
Linus Torvalds在1991年创建了开源系统Linux，在2002年以前，世界各地的志愿者把源代码文件通过diff的方式发给Linus，然后由Linus本人通过手工方式合并代码！然后，Linux系统已经发展了十年了，代码库之大让Linus很难继续通过手工方式管理了。

于是，Linus Torvalds花了两周时间自己用C写了一个分布式版本控制系统，这就是Git！一个月之内，Linux系统的源码已经由Git管理了！

#### Git介绍
Git是一个开源的分布式版本控制系统，用以有效、高速地处理从很小到非常大的项目版本管理。相比CVS、SVN等版本控制工具，Git无疑更加优秀，功能更加强大，在项目版本管理中被越来越多的人广泛的使用。但 Git 相对来说比较难学。

使用Git来管理项目有两种方式：

* 一种是本地部署Git版本管理系统。

* 另一种是通过在线代码托管。

本地部署Git版本管理系统，需要自己来搭建环境，但项目的提交与更新速度快，更适合较为封闭的项目；使用在线托管最大的好处是在有网络的情况下可以随时随地提交自己的代码，但项目是公开的，当然也可以创建私有项目，大多属于付费服务。

#### GitHub

GitHub就是基于Git的在线代码托管平台。

GitHub为当前最流行的开源项目托管平台，数以万计优秀的开源项目被托管在GitHub上面。随着越来越多的应用程序转移到云上，Github已经成为了管理软件开发以及发现已有代码的首选方法。对于普通开发人员来讲，其在GitHub上托管的项目已经成为了他的一张个人名片。许多优秀的互联网公司在招聘开发人员时都希望对方能提供个人的GitHub地址。当然，GitHub作为一个开源软件的大宝库，学习和使用它，也会为我们的日常开发带来许多便利。


#### 测试为什么学习Git ？

* 工作需要

我们工作中需要对项目代码进行管理，我的工作中就先后使用了SVN和Git对项目的版本进行管理。所以，这是测试人员必备技能。

* 学习需要

你工作中所使用的编程语言的第三方库，大量都在GitHub上面托管，要想安装这些库就会用到Git；另外一些主流的Selenium、Appium开源项目也都是在GitHub上进行维护。

* 个人名片

将你自己工作中的一些项目和代码放到GitHub上面进行管理。这无疑是对个人能力最好的展示。




原始封面

![课程图片](https://images.unsplash.com/photo-1580894732930-0babd100d356?w=300)


