不熟悉Github的程序员不是好程序员

来自公众号 : DeveloperPython

《不熟悉Github的程序员不是好程序员》
《不熟悉Github的程序员不是好程序员》

对于Github,我相信很多人都不陌生,并且我也一直认为Github是程序员的必备,当然还有一个 StackOverFlow。

但是在我周围、包括公号里面的读者,大部分都不怎么使用Github。

因为上次我的项目被点赞到Github Trending之后(全球开源项目的热门),我发现很多点赞的国内开发者都是不怎么使用Github的。因为几乎看不到他们的代码提交记录,然而里面很多国外开发者的点赞,我再进入他们的主页,大部分开发者都是持续提交代码中。

之后我也收到好多消息,希望我写一篇关于Github的教程或者如何上Trending。

其实,我接触Github时间挺早的了,大概在上大学开始写代码的时候,就已经使用上了 Github。当时我也是只下载,不用的那种。大概在接触 Github 一年左右之后,我就开始深入使用。

到目前为止,自己 Github 中的项目已经有了130多个。

https://www.github.com/xiyouMc/

Github是一个开源、开放、免费的平台,它更多的是提供给我们学习和贡献的。

所以我决定写一个系列来讲解如何去更好的使用Github,为了让国内的开发者能合理的使用Github。

01、什么是 Github

Github其实是一家公司,坐落在旧金山。是由三个知名的开发者在08年创办的,具体是谁就不用讲了,讲了也记不住。

这是它的 Logo:

《不熟悉Github的程序员不是好程序员》

大概也就在08年4月多,正式上线。

https://www.github.com/

简单的来讲,Github是一个基于 Git 的版本托管平台。

大概在13年的时候,Github 用户数量已经破300万,到目前为止我想也应该上千万了吧。

因此它有一个很洋气的名字就是全球最大同性交友平台。GayHub。

02、Github、Gitlab 和 Git 的区别

这个问题,我相信很多人都分不清。

有的人会把Git理解成Github。你会经常听到有人跟你讲:“你可以去Git上找下,看看有没有你想要的代码”。 如果这句话,是别人跟我讲的,那我绝对是一脸懵逼的。

至于为什么,那么我就来详细讲下这三个的区别。

先说下Git

Git是一款免费、开源的分布式版本控制系统,他是由著名的Linux发明者 Linus Torvalds 开发的。

所以说Git是一个版本的控制系统,而非一个平台。

提到这个版本控制系统,大家可能会想到SVN,毕竟这是很多大学都让学生使用的东西。只不过Git是新时代的产物。

如果在15年的时候,你告诉我你们在使用SVN,那么还情有可原。毕竟那时候很多大公司还在用SVN,比如支付宝。但到现在了,你还在使用SVN那么真的是太落伍了。

所以不管是学习Github,或者从事编程行业,Git绝对算是必备技能。

接下来说Github

上面已经说过,Github 是基于Git的版本托管服务。所以Git对于Github来讲就是一个版本管理的工具。

其次Github,还有更多的功能,毕竟它是一个平台。后面的文章中,我也会列举出重要的几个。

最后来讲讲Gitlab

这个东西呢,其实是企业内部的Github。

因为Github毕竟是一个开源的、全球性的代码托管平台。

对于企业来讲,他们更希望内部有个这样类似的Git代码托管服务。所以他们会选择Gitlab,这个开源的代码托管平台。

而且Gitlab一直在更新版本,目前已经到了9.1版本。

https://github.com/gitlabhq/gitlabhq/

从地址来看,你也会发现Gitlab是Github平台上的一个开源项目,这样也就不难理解这两个的区别了。

03、Github 的影响力

我可以这么说吧,只要你能想到的大公司,他们都会在Github上有一个组织来贡献内部的优秀代码和框架。

比如:
Google: https://www.gihutb.com/google
Apple: https://www.github.com/apple/
Facebook: https://www.github.com/facebook/
Alibaba: https://www.github.com/alibaba
….
还有全球顶级的项目,也同样在Github。
Linux: https://www.github.com/torvalds/linux
Nodejs: https://www.github.com/nodejs/node
Weex: https://github.com/alibaba/weex
等等的….
同样还有全球顶尖级的开发者。
Linux之父 Linus:

《不熟悉Github的程序员不是好程序员》

Android 之神 Jake:

《不熟悉Github的程序员不是好程序员》

等等的,我就不一一列举了。

只要是在编程届厉害的人物,都会出现在Github。

并且很多牛逼的项目做开源,比如你某天听说了某个公司的xx框架开源了。那么它们绝对在Github上开源的。

因此,Github已经是开源的代名词。

04、Github能做什么

  • 优秀的开源项目

学好使用优秀的开源项目,是一个可以避免你在软件开发中重复造轮子的事情。

确切的来讲,正是因为有个Github上优秀的开源项目,才促使了我们在软件开发中变得越来越容易、越来越快速。

比如说:网络请求库、图片加载库。如果让你去自己实现,那么时间和资源是一个很大的成本。对于大公司,可能在人力和资源上是充沛的。但是对于大部分互联网来讲时间就是一切。

所以在使用开源项目的同时,学习他们优秀的设计思想和实现方式,无疑是提升自我编程能力的好时机。

同样的,如果你能拥有一个优秀的开源项目,那么绝对是一个很好的体验。

比如说我开源的WebHubBot,当你看到自己的项目每天每时都有人在点赞,那种感觉真心是比朋友圈被点赞爽很多倍的!!!

《不熟悉Github的程序员不是好程序员》

《不熟悉Github的程序员不是好程序员》

  • 多人协作
    其实多人协作对于Github来讲无疑是一个转折点。

因为一个好的项目,绝非几个人就能搞定的,因此Github提供了很好的协作平台。

当你把代码提交上去之后,你可以让其他人和你一同开发,或者说如果你的项目很好,全球的开发者都会给你的项目做贡献。

以我为例,前段时间提交了一个很有意思的项目,之后就收到了好几个全球开发者代码贡献,如下:

《不熟悉Github的程序员不是好程序员》

因此,多人协作真心是一个很爽、很棒的功能。

  • 其次就是搭建个人网站

Github Pages是Github提供的一套完整的博客搭建环境。

平时你会发现很多人的个人博客域名都是xxxx.github.io。这就是使用Github Pages来搭建的。使用方法很简单,也绝对是一个装逼利器。

  • 个人简历

活跃的Github账号,是一个很好的个人简历。

据我所知,目前很多猎头和公司的HR都很喜欢逛Github。

并且很多国外的科技公司也都会通过Github来寻找优秀的人才。

所以多用Github,会让你收到很多意外的惊喜。

05、加入Github

相信大家读到这里,都迫不及待的想去使用Github了。

那么事不宜迟,从现在开始,快去注册一个Github账号。

链接: https://www.github.com/

注册完成之后,先玩着,了解下整个平台的功能。

同时也可以试着搜索下我的Github:
ID:xiyouMc
https://www.github.com/xiyouMc

接下来,我还会继续连载Github一系列的文章。

保证你们看完之后,会有不一样的收获。

同时如果你目前在使用Git或者Github中,那么有问题的话,也同样可以给我留言,我会一一给你们解答。

——
扫描二维码,关注公众号

《不熟悉Github的程序员不是好程序员》

生活不止眼前的苟且,还有手下的代码、
和嘴上的扯淡
——
个人博客: http://xiyoumc.0x2048.com/
Github:https://www.github.com/xiyouMc

    原文作者:xiyouMc
    原文地址: https://www.jianshu.com/p/8aec29983006
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞