我一直认为 GitHub 是程序员必备技能,程序员应该没有不知道 GitHub 的才对,没想到这两天留言里给我留言最多的就是想让我写关于 GitHub 的教程,说看了很多资料仍是一头雾水,我转念一想,我当初接触 GitHub 也大概工做了一年多才开始学习使用,我读者里不少是初学者,并且还有不少是在校大学生,因此不会用 GitHub 也就不奇怪了,因此我以为写一写关于 GitHub 的教程就很是有必要了!node
不少人不免要问这个问题,说网上关于 GitHub 的资料不少,为何还要写呢?讲真,网上关于 Android 的资料更多,为何大家还喜欢看我写的文章呢?是由于哪怕一样的内容,我写出来以后就有了个人风格,除了个人幽默以及个人帅,关键的是我有办法让大家看的轻松易懂,而且还有我我的的一些看法与指导,这大概是一种特殊的魅力吧!linux
我是从小白一路过来的,很能理解大家心里的感觉与困惑,由于这些阶段都是我本身亲身经历过的,因此我写的文章都会从大家的角度去出发,而且我对文章高要求,除了排版、配图很用心外,文章的内容每次写完我都会亲自看三四遍,确保不会出现误导以及大家理解不了的状况,大家看的很轻松易懂的文章其实由于我背后作了不少的功课。git
因此,为了大家,我以为有必要用个人风格去教大家如何从0开始,跟着我一步步学习 GitHub !程序员
确切的说 GitHub 是一家公司,位于旧金山,由 Chris Wanstrath, PJ Hyett 与 Tom Preston-Werner 三位开发者在2008年4月创办。这是它的 Logo:github
2008年4月10日,GitHub正式成立,地址:How people build software · GitHub ,主要提供基于git的版本托管服务。一经上线,它的发展速度惊为天人,截止目前,GitHub 已经发展成全球最大的开(同)源(性)社区。编程
这个我还专门在群里调查过,不少人觉得 GitHub 就是 Git,其实这是一个理解误区。swift
Git 是一款免费、开源的分布式版本控制系统,他是著名的 Linux 发明者 Linus Torvalds 开发的。说到版本控制系统,估计不少人都用过 SVN ,只不过 Git 是新时代的产物,若是你还在用 SVN 来管理你的代码,那就真的有些落伍了。不论是学习 GitHub ,仍是之后想从事编程行业,Git 均可以算是必备技能了,因此从如今开始建议你先去学习熟悉下 Git ,后面我会有文章推荐一些适合新手的 Git 学习资料给大家。ruby
而 GitHub 上面说了,主要提供基于 git 的版本托管服务。也就是说如今 GitHub 上托管的全部项目代码都是基于 Git 来进行版本控制的,因此 Git 只是 GitHub 上用来管理项目的一个工具而已,GitHub 的功能可远不止于此!微信
上面我说了 GitHub 如今毫无疑问基本是全球最大的开源社区了,这样说大家可能认为未免有点浮夸,且听我一一举证:网络
全球顶级科技公司纷纷加入 GitHub ,并贡献他们本身的项目代码
Google: https://github.com/google
Facebook: https://github.com/facebook
Twitter:https://github.com/twitter
Square:https://github.com/square
...
全球顶级开源项目都优先选择在 GitHub 上开源
CoffeeScript:https://github.com/jashkenas/coffeescript
...
全球顶级编程大牛加入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组的,因此在这里你能够接触到全球顶级编程大牛!
学习优秀的开源项目
开源社区一直有一句流行的话叫「不要重复发明轮子」,某种意义上正是由于开源社区的贡献,咱们的软件开发才能变得愈来愈容易,愈来愈快速。试想你在作项目时,若是每一模块都要本身去写,如网络库、图片加载库、ORM库等等,本身写的好很差是一回事,时间与资源是很大的成本。对于大公司可能会有人力与资源去发明一套本身的轮子,可是对于大部分互联网创业公司来讲时间就是一切。并且你在使用开源项目的过程也能够学习他们优秀的设计思想、实现方式,这是最好的学习资料,也是一份提高本身能力的绝佳方式!
多人协做
若是你想发起一个项目,好比翻译一份不错的英文文档,以为一我的的精力不够,因此你须要更多的人参与进来,这时候 GitHub 是你的最佳选择,感兴趣的人能够参与进来,利用业余时间对这个项目作贡献,而后能够互相审核、合并,简直不要太棒!
搭建博客、我的网站或者公司官网
这个就不用多说了,如今愈来愈多的博客都是基于 GitHub Pages 来搭建的了,你能够为所欲为的定制本身的样式,能够给你博客买个逼格高的域名,不再用忍受各大博客网站的约束与各式各样的广告了!
写做
若是你喜欢写做,并且基于 Markdown, 并准备出版书籍,那么推荐你用 Gitbook ,技术写做人的最爱!
我的简历
若是你有一个活跃的 GitHub 帐号,上面有本身不错的开源项目,还常常给别的开源项目提问题,push 代码,那么你找工做将是一个很是大的优点,如今程序员的招聘不少公司都很看中你 GitHub 帐号,某种意义上 GitHub 就能够算是你的简历了。并且不只国内,不少国外的科技公司都会经过 GitHub 来寻找优秀的人才,好比我甚至经过 GitHub 收到过 Facebook 的邀请邮件!
其余
固然 GitHub 能作的还远不止这些,我见过不少在 GitHub 搞的一些有意思的项目,有找男友的,甚至还有利用 GitHub 的 commit 丧心病狂的秀恩爱的,没错,那个丧心病狂的人就是我,若是你前段日子关注了个人 GitHub ,那么能看到这么一个壮观的景象:
读完个人文章,我相信你已经蠢蠢欲动了,从如今开始,马上、立刻去注册个 GitHub 「https://github.com/」,去体验一番,不会用没关系,接下来我会有一系列详细的文章,来教你学会使用 GitHub !
可是为了保证文章的质量,我要作不少准备工做,我无法保证天天都会连载,可是我会尽力尽快更新这个系列,让大家从0开始一步步一块儿来学习,若是周围有同窗或者朋友想要学习的,那赶忙转发或者推荐他关注这个系列的文章,毕竟有个小伙伴一块儿学会更有氛围,后续除了理论我还会考虑结合实践,我不信你学不会!
本文原创发布于微信公众号 AndroidDeveloper「googdev」,转载请务必注明出处!