今天介绍的这个网站,很多学编程的朋友应该都很熟悉,它就是 Github

没学过编程的同学,可能比较少接触这个网站,但也不要觉得和自己无关,因为这个网站蕴藏着 丰富的学习和软件资源

话不多说,先看一下这篇文章的目录:

01.Github可以用来干什么?

02.Github上的学习和软件资源

03.这些Github基础知识,你要知道

01.Github可以用来干什么?

Github,成立于2008年,是全球最大的 代码托管平台,在去年6月份被微软以75亿美元收购。

Github虽然是一个技术网站,但其实,它也可以用来做一些有趣的事情,比如交友,它也因此获得了「程序员的Facebook」称号,也可以用来寻找学习资料,备战期末考。

①交友&招聘求职

作为全球最大的程序员聚集地,你可以在这里认识各种各样的人。

由于是技术型的网站,吸引人与人之间互相认识,最要紧的是写得一手好代码。

除了交友,一些公司也会将Github项目的Star数,列为 求职者的加分项

因此,平时喜欢在Github上逛的朋友,不妨沉下心,将自己的Github账号打造成一张/份漂亮的 社交名片/求职简历

招聘加分项

②搭建个人blog

自微信公众号横空出世后,许多原来的blog博主,纷纷将自己的写作平台转移到公众号上。

但是公众号目前也存在一些限制,比如不能直接跳转到外链等。

如果你受不了公众号存在的限制,想搭建一个更自由的个人blog,但又不想折腾太多东西,那使用Github或许是个不错的选择。

使用Github来搭建博客,需要用到Github的Pages功能和Jekyll。但这对于小白来说,有点难了,因此最取巧的方式是, 使用他人写好的博客模板

下面是一位名为@barryclark 的工程师写好的一个博客模板,我们只需要将模板的内容进行替换,就可以得到自己的个人博客了。

*图片来自项目barryclark/iekyll-now

③寻找各种资源

除了前面的两个用途,Github还是一个 宝藏网站,可以用来寻找各种资源,包含课程资源、软件资源和各种免去重复造轮子的开源项目。

下面介绍一些大家可能会用到的学习资源和软件资源。

02.Github上的学习和软件资源

①期末复习资料

如果要说大学最难熬的一段时间,可能很多人都会说期末预习。

除了脚踏实地地预习,有些人还掌握了别人不会的「高效」预习方法—— 看往年期末考试题

这不,前阵子有人在Github上创建了一个北大多门课程复习资料的项目,包含专业课、公选课、英语课和通选课等,一度成为Github的热门项目。

后来这个项目的末尾处,还加上了其他学校的复习资料,而且有些作者非常贴心,害怕一些刚接触Github的同学不知道怎么下载资料,在文档中也对下载操作进行了说明。

如果没有你的学校,不妨从你开始,着手做一个类似的Github项目,造福你的师弟师妹。

各个学校的期末学习资料

期末复习资料项目地址:

https://github.com/lib-pku/libpku

②B站公开课目录

平时喜欢看公开课的朋友,不要错过这个Github项目了。

这个项目整理了B站上 多门公开课的观看链接,包含数学、心理学、历史和物理化学等,其中大部分视频为英文字幕,少部分视频为中英文双语字幕。

B站公开课

以大多数人可能比较感兴趣的心理学、经济&金融和历史学科为例,你可以看到来自世界知名学府的公开课程,虽心之所向身不能往,但是你还能免费上它们的课程。

B站公开课项目地址:

https://github.com/wenhan-wu/OpenCourseCatalog

③免费书籍汇总

免费书籍汇总项目是由知名blogger阮一峰老师创建的,这个项目列出了《科技爱好者周刊》收集的 多本免费IT电子书

这些电子书涵盖 Web开发、系统管理、编程语言和数据库等,以后想要找高新职业的朋友,不妨来这里挑几本看看。

免费书籍汇总项目地址:

https://github.com/ruanyf/free-books

④软件资源

由于Github是个技术人的社区,有一些开发者将自己开发的软件发布到了Github,供大家自由下载。

百度脑图离线版

百度脑图是一个思维导图工具,原生软件只有网页版,在断网的场景下不能使用,于是有开发者就自己动手,造了一个开源的离线版的百度脑图。

这个软件支持多个平台,包含Windows、macOS和Linux。打开Github项目地址,点击右侧的 Clone or download,选择Download ZIP即可下载。

百度脑图离线版下载地址:

https://github.com/NaoTu/DesktopNaotu

TinyPNG4Mac

TinyPNG是一个 在线的图片压缩工具,但它有一个限制,不能压缩大于5M的图片

因为这个「bug」,有开发者看不下去了,于是开发了一个 适用于macOS的本地软件,叫TinyPNG4Mac。

这个软件支持压缩超过5M的图片,但它也存在一点限制,每月只能免费压缩500次。

TinyPNG4Mac下载地址:

https://github.com/kyleduo/TinyPNG4Mac

Awesome-Windows

「Awesome-Windows」是一个Windows上好用的软件合集,整理了包含音频处理、社交沟通、文件压缩和数据恢复等类别的工具。

如果你使用的是Windows,想知道特定类别下的好用软件,可以来这上面多逛一逛。

Awesome-Windows项目地址:

https://github.com/Awesome-Windows/Awesome/blob/master/README-cn.md

Awesome-Mac

有了Windows的软件清单,怎么能少了Mac的?

与上面的Windows软件清单类似,Awesome-Mac也整理了Mac上好用的应用程序、软件及工具等。

虽然目前Windows的市场份额更大,但是这份Mac软件清单中的软件数量更多,使用Mac电脑的同学,可以来这份清单寻找心仪的软件。

Awesome-Mac项目地址:

https://github.com/jaywcjlove/awesome-mac/blob/master/README-zh.md

ChromeAppHeroes

ChromeAppHeroes,译为 Chrome插件英雄榜,整理了60+优秀的Chrome插件,且项目作者为每个插件都写了相关的介绍文章。

这个项目目前处于更新状态中,Chrome插件爱好者可以前去Github关注。

项目地址:

https://github.com/zhaoolee/ChromeAppHeroes

⑤设计资源

Awesome-Desin-Tools

这是一个和设计相关的Github项目,作者整理了设计从业者可能会用到的各种资源,包含动画工具、设计灵感、协作工具、原型工具、图标资源、字体资源和样机素材等。

这个项目包含的资源非常齐全,以后要是你的朋友想不开要学设计,可以把这个Github项目推荐给他。

以设计灵感、字体、渐变工具和图标这4个类别为例,这里仅列举了每个类别中的部分工具,当你觉得某个类别中的一个工具不好用时,可以快速切换到同类别的其他工具。

Awesome-Desin-Tools项目地址:

https://github.com/LisaDziuba/Awesome-Design-Tools

03.注册Github账号

说完了Github上的一些资源,如果你想将它们暂时保存下来,除了可以收藏网址,你还可以关注或收藏它们。

这里的关注,最大的好处在于,当资源后续再次更新时,你能通过邮件收到通知。

而使用Github的关注或收藏功能,你需要先注册一个Github账号。

Github账号注册分为三步,分别是设置账户、选择订阅和定制体验。

设置账户中,设置用户名需要比较慎重,因为如果你以后使用Github来搭建个人博客,用户名也会成为博客地址的一部分。

选择订阅这一步,你可以根据自己的需要,选择是否添加订阅,但对于大多数人来说,选择免费账户就可以了。

最后一步的定制体验,可能是Github想通过了解你的个人经历,为你推荐合适的项目或内容。如果你不想填写这些信息,可以直接底部的 跳过此步骤

Github注册地址:

https://github.com/join?source=header

注册完Github账号,第一次接触Github的朋友,可能会囿于网站使用的英文,折腾了半天,都不知道Github该如何使用,于是就把它关掉了。

但别急,不妨看看我第一次使用Github后,认为使用Github时,需要了解的5个基本概念。

04.这些Github基本概念,你要知道

①Repository

Repository译为 仓库,你可以将它理解为文件夹,可以用来存放项目相关的文件。如下图,这里有两个仓库,分别是weblife和ecma6-adventures。

点击网页右上角的加号,可以新建或导入仓库。

创建仓库

新建仓库时,你需要设置 仓库的名称、仓库的可见性,而对仓库的描述则不是必填项。勾选下方的使用README初始化仓库,则会在新建的仓库中生成一个README文件。

创建好仓库后,你可以点击Create new file按钮来书写代码,也可以点击README.md右边的编辑按钮,来对 仓库的说明文档进行编辑。

仓库说明文档README,可以用来说明 仓库的用途、代码运行环境等,编辑说明文档需要用到Markdown标记语言。

Markdown虽然被称为标记语言,但它不能算是一种编程语言。它可以通过简单的语法标记,使普通文本内容具有一定的格式。

由于Markdown的的 轻量化、易上手等特点,许多人用它来写博客,对Markdown有兴趣的朋友,可以查看Github给出的Markdown指引:

https://guides.github.com/features/mastering-markdown/

*Markdown使用示范

说完仓库相关的内容,我们再来看一下每个Github项目右上角都会有的三个按钮, Watch、Star和Fork

②Watch

这里的Watch,就可以用来 关注你感兴趣的仓库或资源,类似于各种App中的关注功能。

点击Watch按钮,里面有4个选项,对应4种不同的通知权限。

默认情况下,Watch是处于Not Watching状态的,如果你在Github上看到一个不错的仓库,想长期关注它的动态,那你可以选择切换到第二或第三种状态。

打开通知后,当仓库或资源更新后,你可以在账户的个人中心收到通知,如果你绑定了邮箱,那么你也可以通过邮件收到更新提醒。

③Star

Star直译是星星,但这里理解为点赞或收藏更合适,它可以说是 每个Github项目最重要的一个指标,因为Star数值越高,说明这个项目更有价值

Star按钮只有两个状态,第一次点击即成功收藏,这时它会切换到Unstar状态,再次点击则取消收藏。

你收藏过的所有Github项目,可以通过账号头像的 Your stars菜单进行查看。

除了查看自己Star的项目,你还可以查看大佬Star的项目,比如查看阮一峰老师Star的项目,因为大佬Star的项目,本身就经过了一次筛选,可以更方便地为我们找到优秀的项目。

④fork

fork,原意是叉子,但在IT领域,它被译为 复刻/派生

当你看到一个不错的Github项目,除了可以将它收藏,还可以使用fork,将它拷贝到自己的仓库中。

这个功能,是为了方便你 在他人分享的源码基础上,进行二次开发,创建不同的软件。

当你使用fork拷贝了他人的项目,你可以在仓库名称下方的小字,看到fork的来源。

⑤Issue

在每个Github项目下,都会有一个Issue板块,你可以将它看成是一个讨论区或留言区。

点击右边绿色的New issue按钮,你可以提交软件漏洞、对项目提出自己的疑问等,而对于项目作者来说,可以通过Issue来收集用户的反馈等。

这里仅介绍5个我觉得刚使用Github时,需要了解的基础知识,关于Github的更多帮助,可以查看官方的帮助文档,它也有对应的中文版本:

https://help.github.com/cn

写在最后

虽然这篇文章介绍了Github的一些基本用法和资源,但相 对于整个Github拥有的价值来说,还只能算是沧海一粟

写这篇文章的过程中,我较为频繁地使用了Github,在上面也发现了一些有趣的东西,越发觉得,程序员真是一个能折腾的群体,代码在指间流过,看似平淡,却构建出了丰富多彩的世界。

祝使用Github的人,头脑丰富,头顶不秃!

以上,就是本次想和你分享的内容,希望对你有帮助,我们下次见。