Github 搜索的正确姿势

Apr 25 2020

Github ( https://github.com/ )是全球最大的开源社区,也被称作全球最大的同性交友网站,大部分的程序员都会在上面提交自己的代码,很多优秀的开源作品也会放在上面,比如:springBoot,greenDAO,EventBus 等

我们可以利用 Github 的搜索功能,寻找自己感兴趣或者有帮助的开源作品,But,如果我们仍然只是简单的在搜索框里输入譬如 “image”,或者 “communicate” 这样的字段,往往效率很低,因为有大量我们不感兴趣的项目会被过滤出来

正确的姿势,是学会几招关键字的用法,在我们限定的条件中查找项目,提高检索的效率

先简单说下一个 GitHub 项目搜索中存在哪些搜索项

仓库名称中做限定

使用 in:name 关键字

比如要查找包含 image 字段的仓库名,使用 in:name image

仓库总数是 256919,而不加限定词直接搜 image

仓库数 523090,整整多了一倍

stars 中做限定

使用 stars:>数字 关键字

高 star 一般意味着项目更加热门,以及优质,我们通过关键字将 star 数限定在 500 以上

使用 stars:>500

观察仓库数,进一步减少到 275 个

编程语言中做限定

使用 language: 关键字

我们只想看 Python 的项目,使用 language:python

范围继续被缩小到只有 39 个,下一步继续精简搜索内容

限定更新时间

使用 pushed:>YYYY-MM-DD 关键字

我们希望这个项目近期仍然在更新,比如最近一个月还在提交代码,使用pushed:>2020-03-25

活跃的项目还有 8 个

限定描述

使用 in:description 关键字

想限定描述内容里出现 download 字段,使用 in:description download

目标项目再一次缩小,圈定在 4 个

基本上到这里,我们就可以慢慢挑选合适的项目来进一步的研究了

当然,还有其他的搜索关键字,如下

限定用户

使用 user: 关键字

例如我想看看 Android 大神 Jake Wharton 的作品,使用 user:jakewharton

限定 README.md 里的字段

使用 in:readme 关键字

限定 License

**使用 license: 关键字

想要使用开源项目做商业用途的话,要注意选择合适的开源协议,它们的授权范围不一样,常见的协议有:Apache-2.0,MIT,BSD

image-20200426082836529

怎么样,看到这里,是不是感觉 Github 更加好用了,打开浏览器马上尝试一下吧,另外,举手之劳,点下在看,予人玫瑰,手有余香