Github搜索技巧汇总
背景
GitHub上面有相当丰富的资源,当前我们身处的是信息爆炸的时代,关键信息的检索就显得尤为重要,而github作为我们代码搬运工的的大仓库,掌握基本的搜索技巧就很必要了。
其实,在用到搜索技巧的时候,随意搜索就会出现大量的指南,但是好多文章讲的不是很全面和系统,笔者找了一下github官方的检索指南,在这里就当做一个笔记吧,供自己和大家参考,笔者也会跟着指南实操一遍,加深记忆(穿越一下,操作一遍下来,发现好多宝藏仓库,真是应有尽有),有条件的小伙伴也可以直接访问github的官方地址,中英文都有,很贴心。
检索类型
1.仓库
检索时,由于符合单项条件的结果过多,往往需要多种条件组合,才能达到更好的效果。
仓库名称、说明、readme文件内容
限定符 | 示例 | 解释 |
in:name | java in:name | 匹配仓库名称中包含"java"关键词的仓库 |
in:description | 书籍 in:description | 匹配说明中包含"书籍"关键字的仓库 |
in:readme | 自学 in:readme | 匹配自述文件中包含"自学"关键字的仓库 |
所属的用户或者组织
限定符 | 示例 | 解释 |
user:userName | user:devgianlu | 匹配用户"devgianlu"的仓库 |
org:ORGNAME | org:alibaba | 匹配仓库组织是阿里巴巴的仓库 |
按仓库大小搜索
size 限定符使用大于、小于和范围限定符查找匹配特定大小(以千字节为单位,也就是k)的仓库。
限定符 | 示例 | 解释 |
size:n | size:1000 | 仓库大小是1M |
| size:>=30000 | 仓库大小至少是30M |
| size:<1000 | 仓库大小小于1M |
| size:30..300 | 仓库大小在30k到300k之间 |
按照关注者数量搜索
限定符 | 示例 | 解释 |
followers:n | java followers:>10000 | 匹配至少有 10,000 或更多关注者提及文字 "java" 的仓库 |
| java followers:1..20 | 匹配拥有1到20个关注者并且提及"java"的仓库 |
按照复刻数量搜索
限定符 | 示例 | 解释 |
forks:n | forks:>10000 | 匹配至少有 10,000 次复刻的仓库 |
| forks:1..200 | 匹配拥有1到200个次复刻的仓库 |
按照star数量搜索
限定符 | 示例 | 解释 |
stars:n | stars:>10000 | 具有至少有 10,000 颗星的仓库 |
| stars:1..30 | 匹配拥有1到30颗星的仓库 |
| stars:>=500 fork:true language:java | 组合条件,匹配至少500颗星,且包括复刻,并且以java编写的仓库 |
按照仓库的创建时间和更新时间搜索
限定符 | 示例 | 解释 |
created:YYYY-MM-DD | java created:>2022-01-19 | 创建时间在2022年01-19之后的仓库 |
pushed:YYYY-MM-DD | java pushed:>2022-01-19 | 更新时间在2022年01-19之后的仓库 |
按照语言进行搜索
限定符 | 示例 | 解释 |
language:LANGUAGE | 自学 language:java | 匹配开发语言的为java的且具有自学字样的仓库 |
2.代码
注意点:
1.搜索代码需要登录GitHub的账号才可以。
2.如果是复刻的项目,只有star数量超过原项目时,才可以搜索的到。
3.只有小于384KB的文件才可以被搜索。
4.只能搜索小于50万个文件的仓库。
5.只能搜索上一年度有活动或者已经在搜索结果中返回的仓库。
6.除了filename搜索之外,搜索源代码时必须始终包含至少一个关键词。如所有language:java无效,而搜索amazing language:java有效
按照文件内容和文件路径进行搜索
限定符 | 示例 | 解释 |
in:file | stringutils in:file | 匹配文件内容中出现"stringutil"的代码 |
in:path | controller in:path | 匹配文件路径中出现"controller"的代码 |
| controller in:file,path | 匹配文件内容中或者路径中出现"controller"的代码 |
按照文件位置搜索
限定符 | 示例 | 解释 |
path:/ | stringutils filename:readme path:/ | 匹配位于仓库根目录级别且含有关键字"stringutils"的readme文件 |
path:PATH/DIRECTORY | form path:app/public language:java | 匹配位于app/public路径下的且包含关键字"form"且语言类型为java的代码 |
评论区