Git和Github的简介

来自谷雨文档中心
跳转至: 导航搜索
Github-logo.jpg

GitHub[1]是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名Github。

GitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过2800万,托管版本数量也是非常之多,其中不乏知名开源项目 Nodejs、jQuery、python 等。

2018年6月4日,微软宣布,通过75亿美元的股票交易收购代码托管平台GitHub。

1 什么是Git

用过Git的人都会说好,这就是对Git的评价,本节内容来自廖雪峰的Git简易教程[2],写的很不错,建议大家学习。

很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。

Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?

事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!

你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。

不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。

安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:

Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。

Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

2 一个形象的展示

以前,你的代码管理多数是下图这个样子:

以前的代码管理方式截图.png

而如果有Git,你只需要简单的push 和pull,就可以解决代码同步的问题。

#初始化当前文件夹为项目源码管理根目录
git init

#添加所有文件
git add --all .

#提交当前的代码
git commit -m "代码管理初始化"

#推送到master分支
git push origin master

3 为何用Github托管开发板源码

以往的开发板例程源码,谷雨团队源码开发完成后,将源码打包上传到百度云盘,然后再额外编写更新说明(事实上很难做到每次都写),最后大家通过我们创建的分享链接来下载源码。

由于全程手动,所以存在几点问题:

  • 需要手动打包上传源码。
  • 需要额外编写更改记录。
  • 很难做到及时更新例程或解决BUG。
  • 无法在线预览代码。

因此,我们将源码托管到Github上,使用Github后的优势:

  • 源码实时更新。
  • 更新记录和详情会自动推送到我们的在线文档中心。
  • 谷雨团队只需要专注源码的开发。
  • 大家可在Github上在线预览代码
  • 在线提交Issue(代码Bug),等等。

例如下图是谷雨文档中心,关于NB-EK-L476开发板源码的说明页面,这些完全是自动生成的。

自动下载链接和更新记录推送.png

4 本文参考

  1. Github官网,Built for developers
  2. Git简易教程,来自廖雪峰的官方网站。

本PDF由谷雨文档中心自动生成,点击下方链接阅读最新内容。

取自“http://doc.iotxx.com/index.php?title=Git和Github的简介&oldid=675