Github 搜索技巧
参考自 B站 up 主 CodeSheep 的视频【如何高效地在网上找开源项目做!在职程序员实际演示一波视频教程操作】,然后写着写着一好奇就去看文档了
现在这篇博客相当于官方文档的翻译版😂
当然,你也可以去看【官方文档】体验原汁原味的教程
干啥的?相当于给搜索结果添加过滤条件,看下下面的案例你就知道啦,过滤 github 的搜索结果,更精确搜索项目
案例
普通搜
关键词:python
搭配技巧搜
搜索 github 中,项目描述(description)中有 python 并且 2019-12-20 号之后有更新过的项目
in:description python pushed:>2019-12-20
效果:加了限制条件后,查出来的项目数有了明显的减少
限定词
可通过指定
仓库名(repository name)、项目描述(description)、内容(contents)、说明文件(readme.md)
来搜索项目
其他骚操作?自己看官方文档(感觉用不到,就不整理了吧):【找仓库中的某个文件】、【在 github 上查找代码片段】
查找某个用户或组织的项目
辅助限定词
可以通过限制
项目大小(size)、拥护者数(followers)、fork数(forks)、stars数(stars)、创建时间(created)、更新时间(pushed)、项目所用语言(language)、topic标签(topic)、topic标签数(topics)...
来筛选项目辅助限定词可以多个并用,用空格隔开就行,可以搭配限定词使用,也可单独使用
(关于项目是否被 fork 这个点我不是很懂,就不写案例了)
in:name python size:<=1000
查出项目名字中有 python 且小于 1MB 的项目
size:<=1000
查出项目大小小于 1MB 的项目
还没搞懂的(关于 forks、mirror、issues)
1. stars:>=500 fork:true language:php matches repositories with the at least 500 stars, including forked ones, that are written in PHP.
2. case pushed:>=2013-03-06 fork:only matches repositories with the word "case" that were pushed to on or after March 6th, 2013, and that are forks.
3. mirror:true GNOME matches repositories that are mirrors and contain the word "GNOME." 查出是镜像并且包含 GNOME 关键字的项目(github 上 mirror 啥意思不太懂)
4. mirror:false GNOME matches repositories that are not mirrors and contain the word "GNOME."
5. good-first-issues:>2 javascript matches repositories with more than two issues labeled good-first-issue and that contain the word "javascript."
6. help-wanted-issues:>4 react matches repositories with more than four issues labeled help-wantedand that contain the word "React."
排序(放的是官网的链接)
推荐直接在页面上的搜索结果点击排序,何必再去学一手呢?
官网文档:【给你的查询结果排序】
使用指南
自己灵活的使用限定词和辅助限定词写出一套规则即可查出你想要的项目
他们的位置先后、数量都无所谓,加上只是多了一个条件
练习案例
常用到的其实有就是这些,上面的还是太多了,你有那个需求,又找不到方式的时候可以查查看
# 项目名字(name)里有 python 的
in:name python
# 名字(name)里有 python 的并且 stars 大于 3000 的
in:name python starts:>3000
# 名字(name)里有 python 的并且 stars 大于 3000 、forks 大于 200 的
in:name python starts:>3000 forks:>200
# 详情(readme)里面有 python 的并且 stars 大于 3000 的
in:readme python starts:>3000
# 描述(description)里面有 python 的并且 stars 大于 3000 的
in:description python starts:>3000
# 描述(description)里面有 python 的并且是 python 语言的
in:description python language:python
# 描述(description)里面有 python 的并且 2019-12-20 号之后有更新过的
in:description python pushed:>2019-12-20