身为程序员 你真的会使用 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】。文章转载请联系作者。
评论