写点什么

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

用户头像
小胖说java
关注
发布于: 2021 年 06 月 06 日
身为程序员 你真的会使用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" 字样的议题。


某些非字母数字符号(例如空格)会从引号内的代码搜索查询中删除,因此结果可能出乎意料。

使用用户名的查询

如果搜索查询包含需要用户名的限定符,例如 useractorassignee,您可以使用任何 GitHub 用户名指定特定人员,或使用 @me 指定当前用户。


@me 只能与限定符一起使用,而不能用作搜索词,例如 @me main.workflow。

检索-搜索仓库

按仓库名称、说明或自述文件内容搜索

通过 in 限定符,您可以将搜索限制为仓库名称仓库说明自述文件内容或这些的任意组合。 如果省略此限定符,则只搜索仓库名称和说明




在用户或组织的仓库内搜索

要在特定用户组织拥有的所有仓库中搜索,您可以使用 userorg 限定符。


按仓库大小搜索

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:>ngood-first-issues:>n 搜索具有最少数量标签help-wantedgood-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



生命不止,学习不息。

GitHub 官方文档

结束语

感谢阅读小生文章。祝大家早日富可敌国,实现财富自由。<br>写文不易,一定要点赞、评论、收藏哦,感谢感谢感谢!!!


有任何问题可以在微信搜索公众号Madison龙少进行咨询<br>或者微信扫描下面二维码进行咨询<br>



发布于: 2021 年 06 月 06 日阅读数: 11
用户头像

小胖说java

关注

还未添加个人签名 2021.03.26 加入

Madison龙少,专注于java技术交流、技术分享。

评论

发布
暂无评论
身为程序员 你真的会使用github搜索吗?