转载从0开始学习github系列之「初识github」

author author     2022-08-06     380

关键词:

转载自http://stormzhang.com

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 ,并贡献他们自己的项目代码

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

全球顶级编程大牛加入GitHub

技术分享

技术分享

  • 被称为「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 「https://github.com/」,去体验一番,不会用不要紧,接下来我会有一系列详细的文章,来教你学会使用 GitHub !

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

转载从0开始学习github系列之「向github提交代码」

转载自http://stormzhang.com之前的这篇文章「从0开始学习GitHub系列之「Git速成」」相信大家都已经对Git的基本操作熟悉了,但是这篇文章只介绍了对本地Git仓库的基本操作,今天我就来介绍下如何跟远程仓库一起协作,教你们向GitHu... 查看详情

转载从0开始学习github系列之「git进阶」

转载自http://stormzhang.com关于Git相信大家看了之前一系列的文章已经初步会使用了,但是关于Git还有很多知识与技巧是你不知道的,今天就来给大家介绍下一些Git进阶的知识。1.用户名和邮箱我们知道我们进行的每一次commit都会产... 查看详情

转载从0开始学习github系列之「团队合作利器branch」

转载自http://stormzhang.comGit相比于SVN最强大的一个地方就在于「分支」,Git的分支操作简直不要太方便,而实际项目开发中团队合作最依赖的莫过于分支了,关于分支前面的系列也提到过,但是本篇会详细讲述什么是分支、分支的... 查看详情

从0开始学习github系列之「github常见的几种操作」

之前写了一个GitHub系列,反响很不错,突然发现竟然还落下点东西没写,前段时间GitHub也改版了,借此机会补充下。我们都说开源社区最大的魅力是人人多可以参与进去,发挥众人的力量,让一个项目更完善,更强壮。那么肯定... 查看详情

从0開始学习github系列之「07.github常见的几种操作」

之前写了一个GitHub系列,反响非常不错,突然发现居然还落下点东西没写,前段时间GitHub也改版了,借此机会补充下。我们都说开源社区最大的魅力是人人多能够參与进去,发挥众人的力量,让一个项目更完好。更强壮。那么肯... 查看详情

gradle系列学习:初识gradle之groovy基础gradle从入门到实战-groovy基础

目录​​一前言​​​​二Groovy基础语法​​​​2.1变量和方法​​​​2.2Groovy的数据类型​​​​2.2.1 String​​​​2.2.2 Closure(闭包)​​​​2.2.3 List和Map​​​​2.2.4 List和Map​​​​三Groovy中的类​​一前... 查看详情

从零开始学习docker(初识docker)

从零开始学习Docker第一篇初识Docker提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加第一篇初识Dockerhttps://editor.csdn.net/md/?articleId=121790797文章目录从零开始学习Docker前言一、Docker是什么?二、... 查看详情

hbase系列之初识hbase

...解hbase。本文从概念上介绍hbase,稍微有点抽象,但这是学习hbase必须要了解的基础理论;如果想直接了解hbase的实操内容,可跳过本博文。二、hbase介绍  先看看hbase官方的介绍:hbase是hadoop数据库,是 查看详情

从0到1合理高效使用github的资料

...hub.md说明作为一名开发者,Github上面有很多东西值得关注学习,可是刚刚接触github,怎样一步步学习使用Github?怎样更高效的利用Github?在这里搜集整理网络上面的资料,汇总成这么一篇repo《Github使用指南》,供大家一起学习... 查看详情

hadoop之初识大数据与hadoop转载

原文地址:http://www.cnblogs.com/zhangyinhua/p/7647334.html阅读目录(Content)一、引言(大数据时代)1.1、从数据中得到信息1.2、大数据表象概念二、大数据基础2.1、什么是大数据?2.2、大数据的基本特征2.3、大数据的意义2.4、大数据的系... 查看详情

从0到1学习边缘容器系列之边缘应用管理

大家对使用Kubernetes管理应用已经比较熟悉,但是边缘场景下的应用部署和管理是否存在不同的需求呢?本文将和大家一起探讨边缘场景下常见的容器应用管理方案。1边缘简单服务场景在笔者接触过的边缘需求中部分用户业务场... 查看详情

git与github快速学习上手

...it和github,并且可以练习完它的列子。来自stormzhang从0开始学习GitHub系列之「01.初 查看详情

java8系列之初识

...对java8中添加的新特性进一步了解过,所以趁着这个机会学习一下,能够在编程中熟练的使用。一、接口的改变    我们知道,在java8版本以前,接口中只能定义静态常量和抽象方法,但是在java8添加了默认方法,也... 查看详情

deepstream系列之yolox调用(代码片段)

点击查看系列文章目录该文转载于我同事的文章【Deepstream之YoloX部署】,版权归原作者所有。github:egbertYeah/yolox_deepstream(github.com)https://github.com/egbertYeah/yolox_deepstream0.目标检测算法YoloXYoloX是旷视科技于2021年提出的目标检测算... 查看详情

deepstream系列之yolox调用(代码片段)

点击查看系列文章目录该文转载于我同事的文章【Deepstream之YoloX部署】,版权归原作者所有。github:egbertYeah/yolox_deepstream(github.com)https://github.com/egbertYeah/yolox_deepstream0.目标检测算法YoloXYoloX是旷视科技于2021年提出的目标检测算... 查看详情

deepstream系列之yolox调用(代码片段)

点击查看系列文章目录该文转载于我同事的文章【Deepstream之YoloX部署】,版权归原作者所有。github:egbertYeah/yolox_deepstream(github.com)https://github.com/egbertYeah/yolox_deepstream0.目标检测算法YoloXYoloX是旷视科技于2021年提出的目标检测算... 查看详情

初识设计模式解析

...计模式必然在它的源码中得到体现。从学习“HelloWorld”开始,我们都是先从学习他人如何做,然后再到学着做,最后经过自己的理解与思考 查看详情

office365系列之一:初识office365

...sp;Office365是什么鬼?     可能很多人刚开始会以为 查看详情