身为程序员 你真的会使用 github 搜索吗?

前言
github作为全球最大的开源软件项目托管平台,我相信不少程序员都在使用。但是你真的会使用github的搜索功能吗?
我们经常会在 GitHub 上搜索
代码、项目、用户或查找相关主题,最简单常用的方法是在GitHub主页搜索框中直接输入相关信息进行查找,比如我们要搜索spring-boot相关项目如下图所示:
那如何能精准定位到我们需要找的代码、项目、用户或查找相关主题呢?本文就详细来讲一下在GitHub上如何精准搜索的巧妙技巧。
搜索语法篇
常用词含义
watch:会持续收到该项目的动态
fork:复制某个仓库到自己的 Github 仓库中
star:可以理解为点赞
clone:将项目下载至本地
follow:关注你感兴趣的作者,会收到他们的动态
搜索 GitHub 时,可以构建匹配特定数字和单词的查询。
查询大于或小于另一个值的值
可以使用 >、>=、< 和 <= 搜索大于、大于等于、小于以及小于等于另一个值的值。
还可以使用范围查询搜索大于等于或小于等于另一个值的值。
查询范围之间的值
可以使用范围语法 n..n 搜索范围内的值,其中第一个数字 n 是最低值,而第二个是最高值。
查询日期
可以通过使用 >、>=、<、<= 和范围查询搜索早于或晚于另一个日期,或者位于日期范围内的日期。 日期格式必须遵循 ISO8601 标准,即 YYYY-MM-DD(年-月-日)。
也可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以便按小时、分钟和秒进行搜索。 这是 T,随后是 HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)。
就不演示了,跟上面是一样的,自行测试。
排除特定结果
可以使用
NOT 语法排除包含特定字词的结果。NOT 运算符只能用于字符串关键词,不适用于数字或日期。
缩小搜索结果范围的另一种途径是排除特定的子集。 您可以为任何搜索限定符添加
-前缀,以排除该限定符匹配的所有结果。
对带有空格的查询使用引号
如果搜索含
有空格的查询,您需要用引号将其括起来。
spring-boot NOT "hello world" 匹配含有 "spring-boot" 字样但不含有 "hello world" 字样的仓库。
build label:"bug fix" 匹配具有标签 "bug fix"、含有 "build" 字样的议题。
某些非字母数字符号(例如空格)会从引号内的代码搜索查询中删除,因此结果可能出乎意料。
使用用户名的查询
如果搜索查询包含
需要用户名的限定符,例如user、actor或assignee,您可以使用任何 GitHub 用户名指定特定人员,或使用@me指定当前用户。
@me 只能与限定符一起使用,而不能用作搜索词,例如 @me main.workflow。
检索-搜索仓库
按仓库名称、说明或自述文件内容搜索
通过
in限定符,您可以将搜索限制为仓库名称、仓库说明、自述文件内容或这些的任意组合。 如果省略此限定符,则只搜索仓库名称和说明。
在用户或组织的仓库内搜索
要在
特定用户或组织拥有的所有仓库中搜索,您可以使用user或org限定符。
按仓库大小搜索
ize限定符使用大于、小于和范围限定符查找匹配特定大小(以千字节为单位)的仓库。
按关注者数量搜索
使用
followers限定符以及大于、小于和范围限定符,基于关注仓库的用户数量过滤仓库。
按复刻数量搜索
forks限定符使用大于、小于和范围限定符指定仓库应具有的复刻数量。
按星号数量搜索
可以使用大于、小于和范围限定符,基于仓库的星标数量来搜索仓库。
按仓库创建或上次更新时间搜索
可以基于
创建时间或上次更新时间过滤仓库。 对于仓库创建,您可以使用created 限定符;要了解仓库上次更新的时间,您要使用pushed限定符。 pushed 限定符将返回仓库列表,按仓库中任意分支上最近进行的提交排序。 两者均采用日期作为参数。日期格式必须遵循 ISO8601标准,即YYYY-MM-DD(年-月-日)。 您也可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以便按小时、分钟和秒进行搜索。 这是 T,随后是 HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)。
按语言搜索
可以根据仓库中代码的语言搜索仓库。
按主题搜索
可以找到按特定主题分类的所有仓库。
按主题数量搜索
可以使用
topics限定符以及大于、小于和范围限定符,根据应用于仓库的主题数量来搜索仓库。
按许可搜索
可以根据
仓库中许可的类型搜索仓库。 您必须使用许可关键字,按特定许可或许可系列来过滤仓库。
按仓库可见性搜索
可以根据
仓库的可见性过滤搜索。
基于仓库是否为镜像搜索
可以根据
仓库是否为镜像以及托管于其他位置托管来搜索仓库。
基于仓库是否已存档搜索
可以基于仓库
是否已存档来搜索仓库。
基于具有 good first issue 或 help wanted 标签的议题数量搜索
可以使用限定符
help-wanted-issues:>n和good-first-issues:>n搜索具有最少数量标签为help-wanted或good-first-issue议题的仓库。
高级检索-搜索用户
按用户拥有的仓库数量搜索
可以使用 repos 限定符以及大于、小于和范围限定符基于用户拥有的仓库数量过滤用户。
按仓库语言搜索
使用
language限定符,您可以基于用户所拥有仓库的语言搜索用户。
按位置搜索
按其
个人资料中指示的位置搜索用户。
搜索某个地区内,某种语言的大佬
cation:beijing language:java
按关注者数量搜索
可以使用
followers限定符以及大于、小于和范围限定符基于用户拥有的关注者数量过滤用户。
高级检索-扩展
awesome 加强搜索
公式:
awesome 关键字:awesome 系列,一般用来收集学习、工具、书籍类相关的项目搜索优秀的
redis相关的项目,包括框架,教程等 awesome redis
高亮显示某行代码
一行:地址后面紧跟 #L10https://github.com/redis/redis/blob/unstable/redis.conf#L12
多行:地址后面紧跟 #Lx - #Lnhttps://github.com/redis/redis/blob/unstable/redis.conf#L12-L45
项目内搜索
使用英文字母 t ,开启项目内搜索项目地址:https://github.com/redis/redis,进去之后 按
t
这里我再推荐一个很好用的 GitHub chrome 插件:
Octotree
生命不止,学习不息。
结束语
感谢阅读小生文章。祝大家早日富可敌国,实现财富自由。<br>写文不易,一定要点赞、评论、收藏哦,感谢感谢感谢!!!
有任何问题可以在微信搜索公众号:Madison龙少进行咨询<br>或者微信扫描下面二维码进行咨询<br>
版权声明: 本文为 InfoQ 作者【小胖说java】的原创文章。
原文链接:【http://xie.infoq.cn/article/af6dd0a5d9e7f48e8e73561bc】。文章转载请联系作者。











评论