前言
最近逛GitHub总是因为搜不到满意的答案而感觉GitHub很low,但是技术大牛们都说闲暇时间都在逛GitHub来了解当下的火热开源项目和技术啥的,就感觉很困惑,他们是如果精准查到自己需要的资源的呢,于是在网上搜索了一波相关解答,结果真的是我的姿势有问题,如下进行了一番记录总结
普通的搜索
相信一般人搜索项目时,都是和以前的我一样,直接搜索技术栈相关的项目
高级一点的搜索,会根据最匹配、最多 Star 来进行排序、选择相应的语言、选择仓库或者代码来进行筛选
一波了解之后才知道 GitHub 支持的搜索功能远远不止于此,以上的功能仅仅是 GitHub 搜索的冰山一角
GitHub 的搜索是非常强大的!下面介绍更高级的搜索技巧
搜索语法
搜索 GitHub 时,其实可以构建匹配特定数字和单词的查询
查询大于或小于另一个值的值
查询大于或小于另一个值的值
可以使用
>、>=、<和<=搜索大于、大于等于、小于以及小于等于另一个值的值
还可以使用 范围查询 搜索大于等于或小于等于另一个值的值
查询范围之间的值
查询范围之间的值
可以使用范围语法
n..n搜索范围内的值,其中第一个数字 n 是最低值,而第二个是最高值
查询日期
查询日期
可以通过使用
>、>=、<、<=和 范围查询 搜索早于或晚于另一个日期,或者位于日期范围内的日期
日期格式必须遵循 ISO8601 标准,即 YYYY-MM-DD(年-月-日)
也可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以便按小时、分钟和秒进行搜索。这是 T,随后是 HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)
排除特定结果
排除特定结果
可以使用
NOT语法排除包含特定字词的结果。NOT运算符只能用于字符串关键词,不适用于数字或日期
缩小搜索结果范围的另一种途径是排除特定的子集,可以为任何搜索限定符添加 - 前缀,以排除该限定符匹配的所有结果
对带有空格的查询使用引号
对带有空格的查询使用引号
如果搜索含有空格的查询,需要用引号将其括起来,例如:
vue NOT 'hello world' 匹配含有 'vue' 字样但不含有 'hello world' 字样的仓库
build label:'bug fix' 匹配具有标签 'bug fix'、含有 'build' 字样的议题
某些非字母数字符号(例如空格)会从引号内的代码搜索查询中删除,因此结果可能出乎意料
使用用户名的查询
使用用户名的查询
如果搜索查询包含需要用户名的限定符,例如
user、actor或assignee,可以使用任何 GitHub 用户名指定特定人员,或使用@me指定当前用户
@me 只能与限定符一起使用,而不能用作搜索词,例如 @me main.workflow
高级的搜索
按仓库名称、说明或自述文件内容搜索
按仓库名称、说明或自述文件内容搜索
通过
in限定符,可以将搜索限制为仓库名称、仓库说明、自述文件内容或这些的任意组合
如果省略此限定符,则只搜索仓库名称和说明
在用户或组织的仓库内搜索
在用户或组织的仓库内搜索
要在
特定用户或组织拥有的所有仓库中搜索,可以使用user或org限定符
按仓库大小搜索
按仓库大小搜索
size限定符使用 大于、小于和范围限定符 查找匹配特定大小(以千字节为单位)的仓库
按关注者数量搜索
按关注者数量搜索
可以使用
followers限定符以及大于、小于和范围限定符基于仓库拥有的关注者数量过滤仓库
按复刻数量搜索
按复刻数量搜索
forks限定符使用大于、小于和范围限定符指定仓库应具有的复刻数量
按星号数量搜索
按星号数量搜索
可以使用 大于、小于和范围限定符 基于仓库具有的 星标 数量搜索仓库
按仓库创建或上次更新时间搜索
按仓库创建或上次更新时间搜索
可以基于创建时间或上次更新时间过滤仓库
对于仓库创建,可以使用
created限定符要了解仓库上次更新的时间,要使用
pushed限定符,pushed限定符将返回仓库列表,按仓库中任意分支上最近进行的提交排序
两者均采用日期作为参数,日期格式必须遵循 ISO8601 标准,即 YYYY-MM-DD(年-月-日)
也可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以便按小时、分钟和秒进行搜索。这是 T,随后是 HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)
日期支持 大于、小于和范围限定符
按语言搜索
按语言搜索
可以基于其编写采用的主要语言搜索仓库
按主题搜索
按主题搜索
可以查找归类为特定 主题 的所有仓库
估计有很多人和我一样不知道 GitHub 上有话题一说的吧
按主题数量搜索
按主题数量搜索
可以使用
topics限定符以及 大于、小于和范围限定符 按应用于仓库的 主题 数量搜索仓库
使用可视界面搜索
使用可视界面搜索
还可以使用 search page 或 advanced search page 搜索 GitHub
这种搜索方式,估计就更少人知道了吧
advanced search page 提供用于构建搜索查询的可视界面可以按各种因素过滤搜索,例如仓库具有的星标数或复刻数,在填写高级搜索字段时,查询将在顶部搜索栏中自动构建
按许可搜索
按许可搜索
可以按其许可搜索仓库,必须使用许可关键词按特定许可或许可系列过滤仓库
按公共或私有仓库搜索
按公共或私有仓库搜索
可以基于仓库是公共还是私有来过滤搜索
按公共或私有仓库搜索
按公共或私有仓库搜索
可以根据仓库是否为镜像以及托管于其他位置托管来搜索它们
基于仓库是否已存档搜索
基于仓库是否已存档搜索
可以基于仓库是否已存档来搜索仓库
总结
其实,以上很多内容的都是来自于 GitHub 的官方文档,如果你还想学习更多技巧,请看 GitHub 官方文档: https://docs.github.com/cn