github搜索技巧汇总

786 阅读5分钟

github作为全球最大的开源软件项目托管平台,上面有大量的开源学习项目或资源,那么面对如此海量的代码仓库,如何才能在众多的资源中搜索出更优秀,更符合自己需求的项目呢?或许你还在全局搜索出一些不符合需求的项目,那或许你没有掌握github的搜索技巧

常用操作

1、in

关键字 in 是用来限定搜索的范围,可以指定是在名称、描述、readme文档中搜索关键字

  • in:name:指定搜索范围是仓库名称
  • in:description:指定搜索范围是摘要中
  • in:readme:指定搜索范围是readme文档中

比如,指定项目仓库名称vue、typescript、demo三个关键字,那么搜索如下:

in:name vue typescript demo

这样搜索出来的项目就是一个简单的demo整合项目,而不是综合项目。 你还可以这样搜:

in:description vue typescript

2、stars 、forks

通常我们判断一个项目好不好,可以通过项目的stars和fork数量来判断,当然了,这也不是绝对的,github中还隐藏这很多不为人所知的优秀项目,等着你挖掘哈。 方式如下:

  • stars:> :筛选stars数量大于某个值的仓库
  • stars:start..end :筛选stars数量在start和end区间的仓库
  • fork:>
  • fork:start..end

所以,通过stars 、forks关键字,我们可以通过stars 、forks数量来过滤一部分。比如,我要筛选搜索结果中,stars数量大于50的项目。那么如下:

in:name vue typescript demo stars:>50

3、language

这个简单,指定项目的编写语言,如java、python、javaScript等。 比如我们搜索爬虫,如果我们直接搜索in:description爬虫,那么出现的结果会包含各种语言的实现项目,但是如果你加上了javaScript语言的限定条件之后,搜索出来的结果就只有javaScript的。

in:description 爬虫 language:javaScript

4、created、pushed

创建日期、更新日期。项目久不维护了,或者项目已经创建很久了。

in:description 爬虫 language:javaScript pushed:>2019-12-01

通常来说,stars数量多,维护频繁的项目都是比较优秀的开源项目。

5.license

明确搜索协议license

license:apache-2.0 [关键词]

6.user

项目作者user

user:[作者] [关键词]

7.size

明确搜索仓库大小

size:>=5000 [关键词]

8.followers

被关注人数followers

followers:>=600 [关键词]

过滤词

排除特定结果

1.可以使用 NOT 语法排除包含特定字词的结果。 NOT 运算符只能用于字符串关键词, 不适用于数字或日期。 比如,指定项目仓库名称vue、demo三个关键字排除typescript,那么搜索如下:

in:name vue demo NOT typescript 

2.缩小搜索结果范围的另一种途径是排除特定的子集。 您可以为任何搜索限定符添加 - 前缀,以排除该限定符匹配的所有结果 比如我们搜索爬虫,加上-language:javaScript, 搜索出来的结果就排除javaScript的。

in:description 爬虫 -language:javaScript

对带有空格的查询使用引号

如果搜索含有空格的查询,您需要用引号将其括起来。 比如含有 "JavaScript" 字样但不含有 "hello world" 字样的仓库

in:description JavaScript NOT "hello world"

搜索仓库

github默认会在仓库名和仓库描述中进行搜索

修饰符(qualifier)例子(Example)
in:namereact in:name 仓库名中包含react
in:descriptionreact in:name,descript 仓库名或仓库描述中包含react
in:readmereact in:readme 仓库readme中包含react
followers:nnode followers:>=10000 仓库名或仓库描述中包含node关键字且该仓库的followers大于等于10000人
stars:nreact stars:>=10000 仓库名或仓库描述中包含react且该仓库被大于等于10000的人star
pushed:YYYY-MM-DDreact pushed:>=2019-01-01 仓库名或仓库描述中包含react且该仓库的最后一次更新在2019年1月1日及之后
created:YYYY-MM-DDreact created:>=2019-01-01 仓库名或仓库描述中包含react且仓库的创建日期在2019-01-01及之后

综合搜索:

在仓库名或仓库描述或仓库readme中包含react,且追随者超过10000人、星数超过10000、最后更新日期晚于2019年4月20日、仓库创建日期晚于2018年12月12日
in:name,description,readme followers:>=10000 stars:>=10000 pushed:>=2019-04-20 react created:>=2018-12-12

搜索issue

github默认会在issue的标题(title)、正文(body)以及评论(comments)中进行搜索

修饰符(qualifier)例子(Example)
in:titleie in:name issue标题中含有ie
in:bodyie in:name issue正文中含有ie
in:commentsie in:name issue评论中含有ie
in:title ie 兼容

高级搜索

除了使用这种特定的限定词来筛选之外,其实github还给我们提供了一种筛选的搜索链接:界面化的搜索条件筛选框

参考文档