GitHub:全球最大的程序员基友社区

GitHub,不少做IT行业的朋友都听说过,甚至已经是GitHub用户了。这是一个基于Git的源代码托管服务的平台,它允许你使用标准的Git命令或者流程规范进行管理。GitHub平台于2007年10月1日开始开发,第一个beta版本于2008年2月上线,4月份正式上线正式版,算起来距今已经运行了近9年。这期间GitHub又加入了star、fork、wiki、follow等社交元素,开源的推动,各大公司以及开发者的代码的贡献,已经成为了当前全球最大的、属于程序员的基友社区。

Git

这个Linux的作者,我心目中的大神Linus Torvalds又一款逆天之作,他开发Git的初衷,就是为了更方便的管理和开发Linux内核源代码,是一款分布式的版本控制系统。它和集中式的CVS、SVN不一样,并不一定需要一个服务端的控制软件,就能进行版本控制,每一个Git端都是一个完整的源代码版本控制库,这样软件的发布、交流等就非常方便,而且速度极快。好吧,真是一言不合,就自己造一个,这就是大神。现在已经越来越多的开源项目和公司内部的代码管理使用Git,Git已经成为程序员需要掌握的、必备的工具,如果你还不会,可以通过 https://git-scm.com/ Git网站下载和学习。

加入GitHub

要成为这个最大的基友社区的一名基友,你必须要得有一个GitHub账号,这样才能加入GitHub,要注册一个GitHub账号非常简单,打开https://github.com/join 按照提示一个个操作加入即可。

创建账号后,需要设置你自己电脑上的Git,以便和GitHub开发交互管理等,具体设置参见官方帮助https://help.github.com/articles/set-up-git/.

然后就去创建自己的第一个GitHub项目吧,具体可以参考官方帮助https://help.github.com/articles/create-a-repo/,很非常详细,看了就会了。

这些都会了后,基本上Github上就差不多了,可以逛逛,也可以看看GitHub上帮助教程,了解更多。

开源项目(Repo)

据不完全统计,GitHub上的项目已经高达760多万个。语言分布JavaScript有95万多个;Java73万多个;Ruby59万;Python47万,可以看到JavaScript当之无愧的语言老大,这也得益于最近几年的前端的高速发展,JavaScript语言已经快无所不能了。

以stars(点赞)的项目分布统计:

  • 超过1000个stars的项目有9,276个
  • 超过2,000个stars的项目有4,194个
  • 超过5,000个stars的项目有1,194个
  • 超过10,000个stars的项目有346个
  • 超过20,000个stars的项目有87个
  • 超过50,000个stars的项目有7个
  • 超过100,000个stars的项目有2个

可以看到越是stars越多的,会越老越少,GitHub上的stars能很好的反应一个项目(Repo)的受欢迎程度,如果大家找流行的Repo,可以使用这个标准。

我们看下stars排行超过50,000的这7个Repo都是哪几个。

  1. https://github.com/freeCodeCamp/freeCodeCamp 220,983 stars
  2. https://github.com/twbs/bootstrap 105,736 stars
  3. https://github.com/vhf/free-programming-books 75,940 stars
  4. https://github.com/d3/d3 59,142 stars
  5. https://github.com/facebook/react 57,668 stars
  6. https://github.com/angular/angular.js 54,345 stars
  7. https://github.com/sindresorhus/awesome 50,074 stars

可以看到第一名的freeCodeCamp的一骑绝尘,22万之多的stars,这是一个开源的学习代码和编程的非营利社区,里面有很多免费的课程。其次是twitter推出的前端开发框架bootstrap,非常流行;然后是一个免费的编程书籍收集Repo,里面有很多免费的电子书籍,可以点击学习;最后值得一提的是非常流行的awesome系列,他是一个个系列合集,里面又包含了你能想到的其他细分分类的awesome系列,比如java、android、微信小程序的等,这是一个汇总的资料项目,学习必用。

Organization

相比我们个人,在Github也有Organization(组织)的概念,这通常代表一个公司,或者一个团体、或者一个非盈利组织,它是多个人的集合,通常用于协作贡献、交流开发、管理等。

比如著名的Organization有google、facebook等,如果你是他们的粉丝,可以关注他们,有很多惊喜项目哦。

Showcases

Showcases,是GitHub根据你感兴趣的主题,做的一个展示,这里有VR(虚拟现实),机器学习等等主题,地址是 https://github.com/showcases,这也是我经常去的一个地方,在这里可以根据你的兴趣、你关注的主题、你公司需要等等,选择相应的主题,然后打开他们,就可以看到GitHub为你精选的项目了,作为参考学习。比如VR这个主题 https://github.com/showcases/virtual-reality

Trending

Trending,https://github.com/trending,GitHub上的风云榜,在这里你可以看到最近一天、一周、一个月哪些项目和开发者最流行,这基本上是我每天必看的,从这里可以找到新趋势、新技术以及新的基友。推荐每天必看,当今日头条新闻看,善用Trending,不要错过遗憾

Issues

在GitHub中,基友们之间的交互大部分都是通过issues(问题),这类似于提问题,讨论。每一个项目都有,你可以针对该项目打开一个issues,提出你的问题、和基友们讨论等等,就和一个小论坛一样。issues支持MarkDown语法,可以在线编辑,所以非常方便,有不少基友们用他来在GitHub上直接写博客,教程等。想和其他基友们交流,从一个issues开始吧。

Fork

这也是GitHub上的概念,意思是建立一个新的分支,比如你Fork了一个项目,就会在你的项目列表里创建一个同名的项目,也即是一个分支(和Git的分支不同),因为是你的所以你拥有它的所有权限,可以任意修改,删除,添加等等。

在贡献代码pull request之前,我们必须要先Fork,这样你才可以有权限修改这个项目,修改完成后,再提交发起pull request就可以提交你的贡献了。

同时Fork也是保存一个项目好办法,因为它是一个完全复制的分支,和原来的项目没有太大关系,所以即使原项目的代码内容被删除,你的还存在。

Pull requests

Pull requests,我们亲切的称为PR,这是在GitHub上代码贡献的流程,不管是你给别的项目贡献代码,还是别的人给你的项目贡献代码。一个完成的贡献代码的流程如下:

  1. Fork别人的项目,因为你是不能直接别人的项目的。
  2. Fork后就是自己项目了,和操作自己的项目一样,编写代码等,然后提交。
  3. 提交后,发起pull request给原项目,这时候对方才能看到你贡献的代码。
  4. 原作者看到后,会Review你的贡献等,如果没有没问题,就会接受Merge原项目中了。
  5. 这样你的贡献,就可以被更多的人使用到了。

如果你对一个项目有更好的想法,或者修复一个Bug等,就发起PR来贡献吧,GitHub上伟大的项目都不是一个写的,都是靠千千万万个贡献者,这也是开源的意义所在,这也是软件、甚至整个IT行业能这么高速发展的原因之一。

GitHub Pages

这是一个Github提供的静态网页服务,让你可以为你的开源项目创建一个介绍网站,来介绍你的项目以及使用等等。除此之外,他还有一个好的用处,就是搭建自己的个人博客,具体请参考我以前的一篇博客 http://www.flysnow.org/2015/03/10/github-page-with-hexo.html ,这是介绍我自己通过该服务,使用Hexo搭建个人博客网站的经验。个人博客是一个平台好的平台,不仅可以让你学习总结,也可以让你认识更多的朋友,为你的简历加分,如果没有,赶紧搭建一个吧。

Integrations

Integrations是GitHub推出的开放平台服务,可以让其他第三方利用GitHub的开放能力,构建一些开放工具或者平台,帮助开发者更好的开发、构建自己的项目,比如我们常用的Travis CI,可以帮我们持续构建,发布我们的项目。更多关于Integrations的工具或者平台,请到https://github.com/integrations 查找,有详细分类,也可以筛选过滤,非常方便。

打造个人简历

再GitHub上,我们不仅可以学习,研究开源项目,贡献以及讨论,还可以利用GitHub为我们的简历加分。我在筛选简历的时候,尤其看中有GitHub的,作为一个程序员,如果连GitHub账号都没有,甚至都没有听说过,这是不可原谅的,也不是一个合格的程序员。

多在GitHub上活跃,研究优秀的项目,多参与讨论和贡献,利用GitHub搭建自己的博客,然后把这些作为自己经验的一部分,写在你的简历上,相信我,这会为你加很多分,让你在应聘者中脱引而出,所以努力的把GitHub打造成自己的活简历吧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容