GitHub高效搜索
GitHub对于开发人员来说,多么重要就不用多说了吧!那么你会搜索吗?怎么从茫茫大海中快速找到适合自己资源了。
以下搜索以找一个Swift的网络框架为目标
普通搜索
我们打开GitHub官网,然后在搜索栏输入信息network
,发现有31万个结果,从结果中过滤语言,和sort选项 ,发现还是有几千个搜索结果,不知道哪一个才是自己想要的。宛如大海捞针,就像下面这张图片一样。
advanced高级搜索
GitHub提供高级搜索页面,在这个页面你可以添加很多过滤条件,包括编程语言,仓库搜索设置,代码搜索设置,问题搜索、设置用户和文库选项等,细化你的搜索。
高级搜索页面如下图
怎么打开高级搜索了
在github搜索主页我并没有看见,但是在搜索结果页,语言筛选下有advanced入口。如下图
高效搜索[推荐]
除了高级搜索,普通搜索也可以通过限定符搜索,快速添加过滤条件。主要有两种方式:
- 搜索词 + in:限定符
- 限定符:搜索词
搜索词 in:限定符
限定符 | 示例 |
---|---|
in:file | network in:file 文件内容匹配network |
in:name | network in:name 仓库名匹配network |
in:path | network in:path 路径匹配network |
in:desc/description | network in:des 仓库描述匹配network |
in:readme | network in:readme 仓库README内容匹配network |
同时在多个条件限定符使用
network in:file,readme // 匹配文件内容或者readme
如果将关键字调整到后面也是可以的,比如in:file network
限定符:搜索词
限定符 | 示例 |
---|---|
language: | langauage:Swift 编程语言为Swift的项目 |
stars: | stars:>1000 stars数量大于1000,说明流行度 |
fork: | fork:>500 fork数量大于500 |
size: | size:>3000 仓库大于3000k,也就越 3M,注意单位是k |
pushed: | push:>2019-02 2019年二月后推送,判断最近是否更新 |
extenson: | extension:pm 匹配文件pm后缀,表示文件后缀 |
其他类似的还有user:
匹配用户、org:
匹配组织、license:
匹配开源证书方式等不常用的。
Tips: 限定词分号前后无空格
搜索词注意以下:
- 搜索不区分大小写
- 搜索多个搜索词时可以使用引号"" 比如 “iOS Swift network” in:readme
- 登录用户才可以搜索所有公共仓库
常用限定符在仓库中内容位置如下图(这里我使用Moya作为参考):
万一我记不住怎么办,放心,搜索结果页面有一个快捷指南入口可以查看。
搜索示例
搜索Swift 网络框架
比如我想搜索Swift 写的网络库,如果普通搜索network 有31万个结果,但是使用限定符搜索只有12个结果,而且大部分满足网络框架要求,比如把最受欢迎的Alamofire和Moya都显示在列表中了。
限定符搜索:network in:readme language:Swift stars:>10000
结果图如下:
搜索 Spring Boot学习资料
比如最近我想学习java 后台开发,学习其中的spring boot框架。我使用awesome in:name stars:>3000 spring boot in:readme
来达到我想要搜索 非常棒的 Spring Boot相关的 收藏数比较高的资源。搜索结果如下图,匹配度非常高
其他搜索技巧
仓库文件模糊搜索
进入仓库后,按下t,就可以进入仓库全局模糊搜索模式,输入任何你想要的文件,就可以找到对应文件。
使用awesome + 搜索词
awesome有非常棒的意思,很多教程,初学者指南有这个词组合搜都可以搜到比较有质量的结果。
搜索词 + topic词
Github上有很多Topic,这样搜索可以找到主题相关的库。
不可多得的插件
在使用 GitHub 的时候,可以借助以下浏览器插件,让自己的 GitHub 使用体验感更上一层。
OctoTree
该插件可以将仓库目录树状显示,快速定位文件和仓库文件结构。
效果图传送门
GitZip
用来下载仓库内某个文件,而不用下载整个仓库。
参考
掌握三个搜索技巧,在GitHUb上快速找到实用软件资源 – 少数派
原来 GitHub 还有这种操作? – 掘金-零和幺