侧边栏壁纸
  • 累计撰写 8 篇文章
  • 累计创建 10 个标签
  • 累计收到 1 条评论

Github搜索技巧汇总

神舟一号
2022-01-19 / 0 评论 / 0 点赞 / 429 阅读 / 1,970 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-02-09,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Github搜索技巧汇总

背景

GitHub上面有相当丰富的资源,当前我们身处的是信息爆炸的时代,关键信息的检索就显得尤为重要,而github作为我们代码搬运工的的大仓库,掌握基本的搜索技巧就很必要了。

其实,在用到搜索技巧的时候,随意搜索就会出现大量的指南,但是好多文章讲的不是很全面和系统,笔者找了一下github官方的检索指南,在这里就当做一个笔记吧,供自己和大家参考,笔者也会跟着指南实操一遍,加深记忆(穿越一下,操作一遍下来,发现好多宝藏仓库,真是应有尽有),有条件的小伙伴也可以直接访问github的官方地址,中英文都有,很贴心。

检索类型

1.仓库

检索时,由于符合单项条件的结果过多,往往需要多种条件组合,才能达到更好的效果。

仓库名称、说明、readme文件内容

限定符示例解释
in:namejava in:name匹配仓库名称中包含"java"关键词的仓库
in:description书籍 in:description匹配说明中包含"书籍"关键字的仓库
in:readme自学 in:readme匹配自述文件中包含"自学"关键字的仓库

所属的用户或者组织

限定符示例解释
user:userNameuser:devgianlu匹配用户"devgianlu"的仓库
org:ORGNAMEorg:alibaba匹配仓库组织是阿里巴巴的仓库

按仓库大小搜索

size 限定符使用大于、小于和范围限定符查找匹配特定大小(以千字节为单位,也就是k)的仓库。

限定符示例解释
size:nsize:1000仓库大小是1M
size:>=30000仓库大小至少是30M
size:<1000仓库大小小于1M
size:30..300仓库大小在30k到300k之间

按照关注者数量搜索

限定符示例解释
followers:njava followers:>10000匹配至少有 10,000 或更多关注者提及文字 "java" 的仓库
java followers:1..20匹配拥有1到20个关注者并且提及"java"的仓库

按照复刻数量搜索

限定符示例解释
forks:nforks:>10000匹配至少有 10,000 次复刻的仓库
forks:1..200匹配拥有1到200个次复刻的仓库

按照star数量搜索

限定符示例解释
stars:nstars:>10000具有至少有 10,000 颗星的仓库
stars:1..30匹配拥有1到30颗星的仓库
stars:>=500 fork:true language:java组合条件,匹配至少500颗星,且包括复刻,并且以java编写的仓库

按照仓库的创建时间和更新时间搜索

限定符示例解释
created:YYYY-MM-DDjava created:>2022-01-19创建时间在2022年01-19之后的仓库
pushed:YYYY-MM-DDjava 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:filestringutils in:file匹配文件内容中出现"stringutil"的代码
in:pathcontroller in:path匹配文件路径中出现"controller"的代码
controller in:file,path匹配文件内容中或者路径中出现"controller"的代码

按照文件位置搜索

限定符示例解释
path:/stringutils filename:readme path:/匹配位于仓库根目录级别且含有关键字"stringutils"的readme文件
path:PATH/DIRECTORYform path:app/public language:java匹配位于app/public路径下的且包含关键字"form"且语言类型为java的代码
0

评论区