相信大家接触GitHub应该是从学习Git开始的吧,至少我是这样的,刚开始真的是什么都不懂,因为是一个英文网站,加上不熟悉,所以对GitHub的使用也非常局限。
先来介绍一下GitHub的常用词,常用词是什么?看下面的图:
红色框线标注的部分相信大家都不陌生吧,是不是感觉虽然很熟悉,但是又谈不上很了解呢,我来介绍一下:
Used by:使用者,记录的是使用该项目的人数Watch:这里可以设置通知级别你可以选择仅在关注时接收该项目动态、或者接受该项目所有动态、或者永不接受动态Star:这是点赞功能,没啥可说的Fork:这里可以拉取项目,若你想贡献代码,可以借助Fork将项目拉取到自己的远程库GitHub精确搜索
在做一个项目之前,你首先应该考虑到在GitHub中是否能找到一个基本架构,然后在上面修改即可;或者在编写项目的过程中,遇到一个需求,你也可以在GitHub上找找看是否有现成的可以引用。
根据关键词搜索举个栗子,你正在编写一个商城项目,其中涉及到支付功能,这个支付功能虽然自己很熟悉,但是真要自己写,好像有些难度,别担心,可以去GitHub上搜搜看,于是你来到GitHub进行搜索:
在搜索框输入pay,此时的搜索结果有六万多条,你高兴坏了,原来有这么多项目可以给自己用,但是,要想在这六万多个项目中找出一个来用,就有些难度了,有些项目跟自己的需求根本不沾边。
所以,直接用pay进行搜索,显然是不够好的,那么,我们可以借助一些关键词进行精确搜索,比如:
in:name:项目名包含指定字符in:readme:自述文件包含指定字符in:description:项目描述包含指定字符有了这些关键词,我们就可以对需要查找的项目进行精确搜索。比如我想要查找项目名中包含pay字符串的项目,那么你只需要搜索pay in:name即可:
这样我们便可以忽略项目名中不包含pay字符串的项目,我们认为这样的项目不适合我们。
我们可以继续限定,比如我想搜索项目名、自述文件和项目描述中都含有pay字符串的项目,那我们就可以这样搜索payin:name,readme,description:
通过这样的限定,能够让查询出来的项目更加符合我们的需求。
当然你也可以限定每个关键词的字符,比如这样搜索pay in:name 支付宝 in:description:
意思是说,查找项目名中包含"pay",项目描述中包含"支付宝"的项目。
根据点赞数和Fork数搜索
刚才通过关键词对项目的限定,我们能够更加精确地搜索到想要的项目,当然,我们还可以通过点赞数和Fork数来实现精确搜索。一般来说,点赞数和Fork数高的项目都是好项目。
比如我使用关键词搜索:pay in:name 支付宝 in:description,发现搜索结果仍然有将近800条,那么如何从这800个项目中快速找到好项目呢?我们来搜索一下高点赞数的项目,它有两种搜索方式:
大于等于符号:stars:>1000、stars:<=5000
区间范围数字:数字1…数字2
现在我想在这800个项目中搜索点赞数超过100的项目,应该搜索pay in:name 支付宝 in:description stars:>500:
现在搜索结果只剩下8个了,我们就可以浏览一下这8个项目,看看哪个项目适合我们,这样工作量明显就下降了。
你还可以借助数字区间搜索,比如你想搜索点赞数400到500范围内的项目,你就可以输入pay in:name 支付宝 in:description stars:400..500:
那么按照Fork数来进行搜索,操作方式和点赞数搜索一样,比如我想搜索Fork数在3000以上的SpringBoot项目,可以输入springboot forks:>3000:
搜索结果只有四个,这四个项目Fork数这么高,肯定是一些好项目,你就可以通过这些项目来进行学习,不断地提升自己了,所以,不要总说自己没有学习资料,GitHub上应有尽有。
当然,它们也可以组合使用,具体就不演示了。
awesome搜索什么是awesome搜索?我们先来搜索一下,输入awesome springmvc:
搜索结果只有四条,而且你会发现这四个项目都是学习教程,事实上,awesome系列就是用来收集学习、工具、书籍类的相关项目,而我们通过awesome搜索就能够找到这些项目。
所以,如果你想学习某个框架,某个知识点,就可以使用awesome来搜索学习资源。
实现代码高亮这是GitHub上某个项目中的一个文件代码,若我想将这个文件的代码发送给别人看,那么只需将网页上的地址发送给别人即可,但如果该文件的代码量特别大,而我想提醒别人从哪个地方开始看,你就可以使用代码高亮。
那么问题是如何实现呢?
我们先把当前的网址复制下来:
https://github.com/BlackmodeN/AwesomeBlog/blob/master/src/blog/dao/ArticleDao.java
比如你想要第14行高亮,那么很简单,在地址后面拼接一个#L关键字,并加上行号:
https://github.com/BlackmodeN/AwesomeBlog/blob/master/src/blog/dao/ArticleDao.java#L14
效果如下图:
而如果你想高亮显示一段代码,比如高亮显示第1行到第14行,也非常简单,修改网址:
https://github.com/BlackmodeN/AwesomeBlog/blob/master/src/blog/dao/ArticleDao.java#L1-L14
看效果:
何为文件查找程序?我们先来到一个项目中:
假设我想查看一下这个项目的文件内容,你不是得进入到各个文件夹内,然后文件里又有子文件夹,并且由于GitHub访问比较缓慢,导致你在浏览整个项目的时候会花费大量的时间。
其实,你完全不用这样,你可以使用文件查找程序来浏览项目,使用方式:在当前项目页面,按下字母T,便会激活文件查找程序,看效果:
所有文件一目了然。
我们随意进入到一个文件中:
这时候我们若想跳转到某行代码,也是可以实现的,在该页面按下字母L,浏览器会弹出一个窗口:
输入60,点击Go,此时页面跳转到第60行代码,效果如下:
按下字母W,还能切换项目分支:
关于GitHub的快捷键其实还有很多,这里就不一一列举了,就介绍了几个常用的。
若想要在GitHub上搜索一些活跃用户,搜索一些行业内的大佬,该如何做呢?
很简单,比如我学的是Java,我想搜索在杭州比较活跃的Java技术大佬,就可以输入location:hangzhoulanguage:java:
这样就可以搜索到了。