作为一个常逛 GitHub 的程序员,你真的知道如何高效地在 GitHub 搜索开源项目吗?你的操作是不是单纯的在搜索框内输入关键词进行搜索的?嘿嘿,这篇文章就来告诉你有啥搜索的技巧或者说骚操作吧。
先来看看直接在搜索框内输入关键词所搜索出来的内容吧(以搜vue项目为例):
what?竟然找到了48多万个相关的开源项目,这时候很多人就不清楚下一步应该干啥了,也不清楚具体找哪个项目练手学习。
所以下面教你几个精确查找项目的方法。
GitHub项目的精确查找
1. 项目名称关键字搜索
搜索方式:
in:name 项目名称关键词
以下图片都以 vue 项目为例:
这样会发现比单纯搜关键词时的项目量少了一些,并且会将关键词加粗,但搜索出的量还是有点大。
2. 项目描述关键字搜索
搜索方式:
in:description 项目描述关键词
这样也是会比单纯搜关键词时的项目量少了一半多些了,但搜索出的量还是很大的。
3. 项目README关键字搜索
搜索方式:
in:readme readme关键词
发现搜索出的量只增不减的,那还有什么方式能更加精准的搜索呢?
就是利用上面的三种搜索关键字搜索+以下四种限制条件来更加精确的搜索。
4. 限制项目的stars数或者forks数
一般情况下一个项目的 star 或 fork 数多少,是能代表该项目的受欢迎程度的,能很大程度地筛选掉一些比较水的项目。搜索方式:
in:name或description或readme 关键字 stars:>数字 forks:>数字
其中stars:>数字
可以单独使用,也可和 forks:>数字
结合使用,还是以搜 vue 项目为例:
只是加了一个对 stars 数大于1000的限制条件,这时候发现搜出的项目量是不是少了很多?这个搜索技巧很强大吧。
5. 限制项目的更新时间
我们在确认是否要使用一些开源框架、库的时候,是否继续维护是很重要的一点。如果是已经过时没人维护的项目,踩坑就不好解决了。搜索方式:
in:name或description或readme 关键字 stars:>数字 pushed:>2020-06-01
上面的pushed:>2020-06-01
搜到的是2020年6月1号之后还在更新的项目,外加限制 stars数:
搜索结果进一步的精确了,如果你是想找指定时间之前或之后创建的仓库也是可以的,把 pushed 改成 created 就行了。
6. 限制项目的语言
比如想找 JavaScript 的库, 除了像在搜索结果左侧点击选择语言之外,还可以在搜索中过滤。搜索方式:
in:name或description或readme 关键字 stars:>数字 pushed:>2020-06-01 language:javascript
这时候的搜索结果已经相当精确了。
7. 限制项目的作者或组织
如果想在 GitHub 上找一下某个大佬提交了什么新的功能,就可以指定其github名后搜索,例如咱们想看下尤大(github名:yyx990803)近期有没有提交新的 JS 代码,其搜索方式:
user:yyx990803
如果想找某个组织的代码的话,紧接着第6条的搜索条件,可以这样:
in:name vue stars:>1000 pushed:>2020-06-01 language:javascript org:vuejs
最终搜索数量定格在16条,这个搜索使用起来是不是相当的便捷精确呢?
总结
如何高效的从GitHub上搜索开源项目,有下面的小技巧(三类关键字搜索+四限制):
- 项目名关键字搜索: in:name 项目名关键字
- 项目描述关键字搜索: in:description 项目名关键字
- 项目详细描述关键字搜索: in: readme 项目名关键字
- 限制项目的火热程度: stars:>数字 或者 forks:>数字
- 限制项目的更新时间:pushed:> 时间
- 限制项目的语言:language:语言
- 限制项目的作者或组织:user:作者名 或者 org:组织名
上面的这些命令都可以组合使用,这样可以使得项目搜索更加精确。
你可以实践试一试这样的搜索技巧,看看是否能找到你想要的开源项目呢?
延伸阅读:
怎样参与到全世界优秀的开源项目中?mp.weixin.qq.com如果觉得文章对你有些许帮助,欢迎在我的GitHub博客点赞和关注,感激不尽!