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

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

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

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

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

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

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

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

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

什么是 Github

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

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

https://www.github.com/

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

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

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

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平台上的一个开源项目,这样也就不难理解这两个的区别了。

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:

Android 之神 Jake:

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

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

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

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

Github能做什么

  • 优秀的开源项目

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

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

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

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

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

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

  • 多人协作

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

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

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

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

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

  • 其次就是搭建个人网站

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

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

  • 个人简历

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

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

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

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

加入Github

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

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

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

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

同时也可以试着搜索下我的Github:

ID:xiyouMc

https://www.github.com/xiyouMc

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

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

Github系列教程一 ————开门相关推荐

  1. 【Python3.6+Django2.0+Xadmin2.0系列教程之一(入门篇-上)】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 转载请注明 ...

  2. ClickHouse系列教程七:centos下源码编译安装及报错解决

    ClickHouse系列教程: ClickHouse系列教程 参考上一篇博客: ClickHouse系列教程六:源码分析之Debug编译运行 先安装 gcc 8, g++ 8, cmake 3, ni ...

  3. ClickHouse系列教程六:源码分析之Debug编译运行

    ClickHouse系列教程: ClickHouse系列教程 根据官方文档的编译教程:How to Build ClickHouse on Linux - ClickHouse Documentati ...

  4. ClickHouse 系列教程五:多种连接方法

    文章目录 clickhouse-client HTTP 接口 JDBC Python接口 ClickHouse系列教程: ClickHouse系列教程 clickhouse-client 你可以通过c ...

  5. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  6. ASP.NET Core Web Razor Pages系列教程八: 添加验证

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  7. ASP.NET Core Web Razor Pages系列教程七: 添加新的字段

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  8. ASP.NET Core Web Razor Pages系列教程六:添加搜索功能

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  9. ASP .NET Core Web Razor Pages系列教程五:更新Razor Pages页面

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  10. ASP .NET Core Web Razor Pages系列教程三:自动生成Razor Pages (CRUD)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

最新文章

  1. Linux上怎么查询sql,Linux上的文本文件的SQL查询引擎?
  2. android入门学习一 基本概念
  3. Android 之 布局训练
  4. 对话图森无人车CEO陈默:IPO,我们只差最后一个必要条件
  5. 高级 Java 必须突破的 10 个知识点
  6. HTML第一章:初始HTML
  7. chmod命令使用详解
  8. 012 基于以太访的本地文件hash存储查找Dapp实例(合约安装部署)
  9. 自旋锁、排队自旋锁、MCS锁、CLH锁
  10. 牛客网-华为机试题(python)
  11. 五大特点_皮肤肤质五大分类及其特点
  12. [zz]P2P直播软件设计的技术原理和改进
  13. Java中的JPA是什么意思?
  14. excel保护密码怎么解除
  15. H-蛇皮走位(吉首大学2019程序设计校赛)c++
  16. python显示灰度图像,Python读取图像并显示灰度图的实现
  17. 2022-2027年中国番茄酱行业市场全景评估及发展战略规划报告
  18. HI3861学习笔记(17)——NFC标签NT3H1201使用
  19. 提升网站运营效果的方法有哪些?网站运营有什么方法和技巧?
  20. 稀疏表示中KL1p库的配置及Demo

热门文章

  1. 【CSDN|每日一练】小艺的英文名
  2. 女儿拿着小天才电话手表问我App启动流程
  3. spyder python调试查看类信息_Python调试工具-Spyder
  4. word制作流程图有没有橡皮擦_WORD文档绘图,里面的橡皮擦在哪里啊
  5. TortoiseSVN简明教程
  6. 联通短信息中心号码,联通服务中心号码速查
  7. pig的基本语法以及高级语法
  8. 全球与中国抗辐射相机市场深度研究分析报告
  9. 董事长、CEO、总裁、总经理、总监的区别
  10. 全球与中国绿色多元醇市场现状及未来发展趋势