github精准搜索方法
- 按照 name 搜索
- 按照README来搜索
- 按照descriptin搜索
- 总结
开源项目组成部分:
- name: 项目名
- description: 项目的简要描述
- 项目的源码
- README.md: 项目的详细情况的介绍
除此之外,项目本身的star数和fork数,项目的最近更新日期,也是评判一个开源项目是否火热的标准。
假设我们现在要搜索Spring,相信大部分小伙伴都是直接在搜索框里输入:“Spring”,然后一回车,你就会发现情况像下面这样:
搜索结果会显示非常多的开源项目,项目太多了,根本找不到如何找到自己感兴趣的开源项目。
所以我们来学习一下稍微精确一点的搜索方法。
按照 name 搜索
搜索项目名里面包含Spring的项目:
in:name Spring
可以看到,这些搜索结果都是项目名里面带有“Spring”关键字的项目,但是项目数量依旧很多。
现在我们来约束一下
比如我再精确到项目的star数大于5000+:
in:name Spring stars:>5000
搜索结果瞬间精确了很多,现在只有20个项目可供选择。
同理,我们也可以按照fork的数量来进行搜索:
in:name React stars:>5000 forks:>3000
项目数量变为了13个,我们再也不用纠结了
按照README来搜索
搜索README.md里面包含Spring的项目:
in:readme Spring stars:>3000 forks:>3000
搜索结果一下子精确到了77个。这个时候你再去选择项目,就会变得容易很多
按照descriptin搜索
假设我们现在要学习微服务的项目,我们搜索项目描述(description)里面包含微服务的项目:
in:description 微服务
结果有这么多,那我们接着增加一些筛选条件:
in:description 微服务 language:Java
language:Java的意思是我们把语言限制为Java,我们来看看结果如何:
搜索结果精确了很多。
假如在这些项目里面,我们想要找到最近才更新的项目,意思是更新时间就在最近,我们可以这样:
in:description 微服务 language:Java pushed:>2020-01-01
pushed:>2020-01-01的意思是我们把项目的最后更新时间限制到2020-01-01
总结
in:name xxx // 按照项目名搜索
in:readme xxx // 按照README搜索
in:description xxx // 按照description搜索
那么在这里面又可以增加筛选条件,我们可以随意进行组合来挑选心仪的项目
stars:>xxx // stars数大于xxx
forks:>3000 // forks数大于xxx
language:xxx // 编程语言是xxx
pushed:>YYYY-MM-DD // 最后更新时间大于YYYY-MM-DD