## 1. 写在前面

我一直认为 GitHub 是程序员必备技能,程序员应该没有不知道 GitHub 的才对,没想到这两天留言里给我留言最多的就是想让我写关于 GitHub 的教程,说看了不少资料还是一头雾水,我转念一想,我当初接触 GitHub 也大概工作了一年多才开始学习使用,我读者里很多是初学者,而且还有很多是在校大学生,所以不会用 GitHub 也就不奇怪了,所以我觉得写一写关于 GitHub 的教程就非常有必要了!

## 2. 为什么还要造轮子

很多人难免要问这个问题,说网上关于 GitHub 的资料很多,为什么还要写呢?讲真,网上关于 Android 的资料更多,为什么你们还喜欢看我写的文章呢?是因为哪怕同样的内容,我写出来之后就有了我的风格,除了我的幽默以及我的帅,关键的是我有办法让你们看的轻松易懂,并且还有我个人的一些见解与指导,这大概是一种特殊的魅力吧!

我是从小白一路过来的,很能理解你们内心的感受与困惑,因为这些阶段都是我自己亲身经历过的,所以我写的文章都会从你们的角度去出发,并且我对文章高要求,除了排版、配图很用心外,文章的内容每次写完我都会亲自看三四遍,确保不会出现误导以及你们理解不了的情况,你们看的很轻松易懂的文章其实因为我背后做了很多的功课。

所以,为了你们,我觉得有必要用我的风格去教你们如何从0开始,跟着我一步步学习 GitHub !

## 3. 什么是 GitHub

确切的说 GitHub 是一家公司,位于旧金山,由 Chris Wanstrath, PJ Hyett 与 Tom Preston-Werner 三位开发者在2008年4月创办。这是它的 Logo:

2008年4月10日,GitHub正式成立,地址:How people build software · GitHub ,主要提供基于git的版本托管服务。一经上线,它的发展速度惊为天人,截止目前,GitHub 已经发展成全球最大的开(同)源(性)社区。

## 4. GitHub 与 Git 的关系

这个我还专门在群里调查过,很多人以为 GitHub 就是 Git,其实这是一个理解误区。

Git 是一款免费、开源的分布式版本控制系统,他是著名的 Linux 发明者 Linus Torvalds 开发的。说到版本控制系统,估计很多人都用过 SVN ,只不过 Git 是新时代的产物,如果你还在用 SVN 来管理你的代码,那就真的有些落伍了。不管是学习 GitHub ,还是以后想从事编程行业,Git 都可以算是必备技能了,所以从现在开始建议你先去学习熟悉下 Git ,后面我会有文章推荐一些适合新手的 Git 学习资料给你们。

而 GitHub 上面说了,主要提供基于 git 的版本托管服务。也就是说现在 GitHub 上托管的所有项目代码都是基于 Git 来进行版本控制的,所以 Git 只是 GitHub 上用来管理项目的一个工具而已,GitHub 的功能可远不止于此!

## 5. GitHub 的影响力

上面我说了 GitHub 现在毫无疑问基本是全球最大的开源社区了,这样说你们可能认为未免有点浮夸,且听我一一举证:

全球顶级科技公司纷纷加入 GitHub ,并贡献他们自己的项目代码

  • Google: Google · GitHub

  • 苹果: Apple · GitHub

  • Facebook: Facebook · GitHub

  • Twitter:Twitter, Inc. · GitHub

  • 微软:https://github.com/microsoft

  • Square:https://github.com/square

  • 阿里:https://github.com/alibaba

  • ...

全球顶级开源项目都优先选择在 GitHub 上开源

  • Linux:https://github.com/torvalds/linux

  • Rails:https://github.com/rails/rails

  • Nodejs:https://github.com/nodejs/node

  • Swift:https://github.com/apple/swift

  • CoffeeScript:https://github.com/jashkenas/coffeescript

  • Ruby:https://github.com/ruby/ruby

  • ...

全球顶级编程大牛加入GitHub

  • Linux 发明者 Linus Torvalds:https://github.com/torvalds

  • Rails 创始人 DHH:https://github.com/dhh

  • 被称为「Android之神」的 JakeWharton:https://github.com/JakeWharton , 你们用的很多开源库如 ButterKnife、OkHttp、 Retrofit、 Picasso、ViewPagerIndicator 等都是出自他之手!

其他就不一一列举了,GitHub 上活跃的很多是 Google 、Square、阿里等公司的员工,有些甚至还是Google Android Team组的,所以在这里你可以接触到全球顶级编程大牛!

## 6. GitHub 有什么用

  • 学习优秀的开源项目

开源社区一直有一句流行的话叫「不要重复发明轮子」,某种意义上正是因为开源社区的贡献,我们的软件开发才能变得越来越容易,越来越快速。试想你在做项目时,如果每一模块都要自己去写,如网络库、图片加载库、ORM库等等,自己写的好不好是一回事,时间与资源是很大的成本。对于大公司可能会有人力与资源去发明一套自己的轮子,但是对于大部分互联网创业公司来说时间就是一切。而且你在使用开源项目的过程也可以学习他们优秀的设计思想、实现方式,这是最好的学习资料,也是一份提升自己能力的绝佳方式!

  • 多人协作

如果你想发起一个项目,比如翻译一份不错的英文文档,觉得一个人的精力不够,所以你需要更多的人参与进来,这时候 GitHub 是你的最佳选择,感兴趣的人可以参与进来,利用业余时间对这个项目做贡献,然后可以互相审核、合并,简直不要太棒!

  • 搭建博客、个人网站或者公司官网

这个就不用多说了,现在越来越多的博客都是基于 GitHub Pages 来搭建的了,你可以随心所欲的定制自己的样式,可以给你博客买个逼格高的域名,再也不用忍受各大博客网站的约束与各式各样的广告了!

  • 写作

如果你喜欢写作,而且基于 Markdown, 并准备出版书籍,那么推荐你用 Gitbook ,技术写作人的最爱!

  • 个人简历

如果你有一个活跃的 GitHub 账号,上面有自己不错的开源项目,还经常给别的开源项目提问题,push 代码,那么你找工作将是一个非常大的优势,现在程序员的招聘很多公司都很看中你 GitHub 账号,某种意义上 GitHub 就可以算是你的简历了。而且不仅国内,很多国外的科技公司都会通过 GitHub 来寻找优秀的人才,比如我甚至通过 GitHub 收到过 Facebook 的邀请邮件!

  • 其他

当然 GitHub 能做的还远不止这些,我见过很多在 GitHub 搞的一些有意思的项目,有找男朋友的,甚至还有利用 GitHub 的 commit 丧心病狂的秀恩爱的,没错,那个丧心病狂的人就是我,如果你前段日子关注了我的 GitHub ,那么能看到这么一个壮观的景象:


## 7. 加入 GitHub

读完我的文章,我相信你已经蠢蠢欲动了,从现在开始,立刻、马上去注册个 GitHub 「How people build software · GitHub」,去体验一番,不会用不要紧,接下来我会有一系列详细的文章,来教你学会使用 GitHub !

但是为了保证文章的质量,我要做很多准备工作,我没法保证每天都会连载,但是我会尽力尽快更新这个系列,让你们从0开始一步步一起来学习,如果周围有同学或者朋友想要学习的,那赶紧转发或者推荐他关注这个系列的文章,毕竟有个小伙伴一起学会更有氛围,后续除了理论我还会考虑结合实践,我不信你学不会!

本文原创发布于微信公众号 AndroidDeveloper「googdev」,转载请务必注明出处!

作者:stormzhang
链接:https://zhuanlan.zhihu.com/p/21103336
来源:知乎

从0开始学习 GitHub 系列之「初识 GitHub」相关推荐

  1. 从0开始学习 GITHUB 系列之「加入 GITHUB」【转】

    本文转载自:http://stormzhang.com/github/2016/05/26/learn-github-from-zero2/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  2. 从0开始学习GitHub系列之「Git 速成」

    从0开始学习GitHub系列之「Git 速成」 糖果果| 2016-06-24 10:55    浏览量(32)    评论(0)   推荐(0) 数据 小编注:[从0开始学习 GitHub]是一个系 ...

  3. 从0开始学习GitHub系列之「向GitHub 提交代码」

    DevStore首页 >文章 >文章详情 从0开始学习GitHub系列之「向GitHub 提交代码」 糖果果| 2016-06-15 10:57    浏览量(500)    评论(1) ...

  4. linux shared,从 0 开始学习 Linux 系列之「22.共享内存 Shared Memory」

    共享内存 版权声明:本文为 cdeveloper 原创文章,可以随意转载,但必须在明确位置注明出处! 共享内存 Shared Memory 这次我们来学习在 Linux 中最快的一种 IPC 方式:共 ...

  5. 从0开始学习 GitHub 系列之「03.Git 速成」

    前面的 GitHub 系列文章介绍过,GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以今天的教程就来说说 Git ,当然关于 G ...

  6. 从0开始学习 GitHub 系列之「03.Git 速成」----转载自stormzhang 原创文章

    前面的 GitHub 系列文章介绍过,GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以今天的教程就来说说 Git ,当然关于 G ...

  7. 从0开始学习 GitHub 系列之「04.向GitHub 提交代码」----转载自stormzhang 原创文章

    之前的这篇文章「从0开始学习 GitHub 系列之「Git速成」」相信大家都已经对 Git 的基本操作熟悉了,但是这篇文章只介绍了对本地 Git 仓库的基本操作,今天我就来介绍下如何跟远程仓库一起协作 ...

  8. 从0开始学习GitHub系列之「认识并加入GitHub」

    从0开始学习GitHub系列之「认识并加入GitHub」 糖果果| 2016-06-16 16:01    浏览量(245)    评论(0)   推荐(0) 数据 小编注:[从0开始学习 GitHu ...

  9. 【AI热点技术】ChatGPT开源替代品——LLaMA系列之「羊驼家族」

    ChatGPT开源替代品--LLaMA系列之「羊驼家族」 1. Alpaca 2. Vicuna 3. Koala 4. ChatLLaMA 5. FreedomGPT 6. ColossalChat ...

最新文章

  1. 【实习记】2014-09-04浏览代码查middle资料+总结我折腾过的源码浏览器
  2. leecode5 最长回文子串
  3. Excel+SQL数据库连接
  4. 【Elasticsearch】 es 6.8 的 type _doc
  5. java记事本获取当前时间_calendar 用Java写的日历,有查询时间日期,还有记事本以及到点提醒功能。 Develop 238万源代码下载- www.pudn.com...
  6. ubuntu Django mysqlclient的问题
  7. Markdown 数学公式语法
  8. 晶体管扩流电源电路设计
  9. 汽车CAN诊断——报文数据篇
  10. Ubuntu 16.04 解决WPS for Linux提示“系统缺失字体symbol、wingdings、wingdings 2、wingdings 3、webding”的问题
  11. python开发工具geany_geany作为Python的编辑器好用吗?
  12. 主题模型(LDA)案例:分析人民网留言板数据
  13. JS中设计模式的深入理解
  14. wxpython 和 pyQt 的选择
  15. 2019世界乒乓球锦标赛女单刘诗雯夺冠
  16. 遥感基础之全色波段和多光谱
  17. 项目实战!用爬虫和Flask打造属于自己的电影网站
  18. Oracle RowID与RowNum的区别
  19. FITC/ICG/TMR/HRP/Cy3荧光标记阿法替尼/阿西替尼/克里唑蒂尼/奥拉帕尼/Lenvatinib/多韦替尼 等药物
  20. C#4.0 操作IE浏览器自动填表支付宝网站完整实例代码

热门文章

  1. 反欺诈之地址的处理和使用
  2. map以及类似指针iterator
  3. 满城尽带比特币:程序员如何发布自己的 ICO?
  4. 未来社会是什么样子的?您猜对了吗?
  5. 谷歌语音转录背后的神经网络
  6. 深度学习(主要是CNN)用于图片的分类和检测总结
  7. 每日一博 - Review线程池_02
  8. Spring Boot - 自动装配中的不可忽视的@Import
  9. OS - 计算机基本组成
  10. 白话Elasticsearch04- 结构化搜索之使用terms query搜索多个值以及多值搜索结果优化