一套打通 Github 搜索语法

目录

前言:

(1)查询大于或小于另一个值的值

(2)查询范围之间的值

(3)查询日期

(4)排除特定结果

(5)使用用户名的查询

(6)常用的搜索语法归纳


前言:

Github:全球最大的开源网站,相信学编程的小伙伴都不陌生,里面聚集了很多优秀大佬的开源项目,但是不知道大家是否跟我一样,每次想查找一个项目的时候,搜索出来的结果总是五花八门,那怎么能做到精准定位要搜索的项目呢?这里就不得不提 Github 搜索语法了,相信很多小伙伴在这里都会感到惊奇,what?Github竟然也有搜索语法!是的,这里就带大家走进Github搜索语法。


(1)查询大于或小于另一个值的值

可以使用 >>=< 和 <= 搜索大于、大于或等于、小于以及小于或等于另一个值的值。

查询示例
>ncats stars:>1000 匹配有超过 1000 个星的具有“cats”一词的存储库。
>=ncats topics:>=5 匹配有 5 个或以上主题的具有“cats”一词的存储库。
<ncats size:<10000 匹配尺寸小于 10 KB 的文件中的具有“cats”一词的代码。
<=ncats stars:<=50 匹配有 50 或更少个星的具有“cats”一词的存储库。

还可以使用范围查询搜索大于或等于或者小于或等于其他值的值。

n..*cats stars:10..* 等效于 stars:>=10 并匹配有 10 或更多个星的具有“cats”一词的存储库。
*..ncats stars:*..10 等效于 stars:<=10 并匹配有 10 或更少个星的具有“cats”一词的存储库。

(2)查询范围之间的值

使用范围语法 n..n 搜索范围内的值,其中第一个数字 n 是最低值,第二个是最高值。

查询示例
n..ncats stars:10..50 匹配有 10 到 50 个星之间的具有“cats”一词的存储库。

(3)查询日期

可以使用 >>=<<= 和范围查询搜索早于或晚于另一个日期或属于某个日期范围内的日期。 日期格式必须遵循 ISO8601 标准,即 YYYY-MM-DD(年-月-日)。

查询示例
>YYYY-MM-DDcats created:>2016-04-29 匹配具有 2016 年 4 月 29 日后创建的“cats”一词的问题。
>=YYYY-MM-DDcats created:>=2017-04-01 匹配具有 2017 年 4 月 1 日或之后创建的“cats”一词的问题。
<YYYY-MM-DDcats pushed:<2012-07-05 匹配具有在 2012 年 7 月 5 日之前推送到存储库中的“cats”一词的代码。
<=YYYY-MM-DDcats created:<=2012-07-04 匹配具有 2012 年 7 月 4 日或之前创建的“cats”一词的问题。
YYYY-MM-DD..YYYY-MM-DDcats pushed:2016-04-30..2016-07-04 匹配具有在 2016 年 4 月末和 7 月之间推送到其中的“cats”一词的存储库。
YYYY-MM-DD..*cats created:2012-04-30..* 匹配 2012 年 4 月 30 日之后创建的包含“cats”一词的问题。
*..YYYY-MM-DDcats created:*..2012-07-04 匹配 2012 年 7 月 4 日之前创建的包含“cats”一词的问题。

 也可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以按小时、分钟和秒进行搜索。 即 T,随后是 HH:MM:SS(时-分-秒)和 UTC 时差 (+00:00)。

YYYY-MM-DDTHH:MM:SS+00:00cats created:2017-01-01T01:00:00+07:00..2017-03-01T15:30:15+07:00 匹配 2017 年 1 月 1 日凌晨 1 点 (UTC 时差为 07:00)和 2017 年 3 月 1 日下午 3 点 (UTC 时差为 07:00)之间创建的问题。
YYYY-MM-DDTHH:MM:SSZcats created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z 匹配 2016 年 3 月 21 日下午 2:11 和 2016 年 4 月 7 日晚上 8:45 之间创建的问题。

(4)排除特定结果

 可以使用 not 语法排除包含特定字词的结果。 not 运算符只能用于字符串关键字。 不适用于数字或日期。

查询示例
NOThello NOT world 与包含字词“hello”但不包含字词“world”的存储库匹配。

 PS:这里要注意:对带有空格的查询需要使用引号,例如:cart not "hello world ",匹配具有“cats”一词但没有“hello world”一词的存储库。

 缩小搜索结果范围的另一种途径是排除特定的子集。 可以为任何搜索限定符添加 - 前缀,以排除该限定符匹配的所有结果。

-QUALIFIERcats stars:>10 -language:javascript 匹配有多于 10 个星但不是用 JavaScript 编写的具有“cats”一词的存储库。

(5)使用用户名的查询

如果搜索查询包含需要用户名的限定符(例如 useractor 或 assignee),可以使用任何 GitHub 用户名指定特定的人。

查询示例
QUALIFIER:USERNAMEauthor:nat 匹配由 作者是 nat 
QUALIFIER:@meis:issue assignee:@me 匹配分配给查看结果的人员的问题

(6)常用的搜索语法归纳

语法含义
in:name example    名字中有“example”
in:readme examplereadme中有“example”
in:description example描述中有“example”
stars:>1000star>1000
forks:>1000fork>1000
pushed:>2022-10-252022年10月25日后有更新的
language:java用Java编写的项目

更多高级搜索语法可以查看官网:

搜索存储库 - GitHub 文档https://docs.github.com/en/search-github/searching-on-github/searching-for-repositories

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitHubMarkdown语法有很多功能,以下是一些常用的语法示例: 1. 标题: 通过在文本前添加#符号来创建标题,#的数量表示标题级别。例如,# 标题1 是一级标题,## 标题2 是二级标题,以此类推。 2. 段落: 段落由一个或多个连续的行句组成,并且段落之间有一个以上的空行来分隔。空行的定义是显示上看起来像是空行,就被视为空行。 3. 引用: 使用 > 符号可以创建引用文本块。引用的内容会有一个缩进,并且可以嵌套使用多个 > 符号来创建更深的引用层级。 4. 列表: 使用-或*符号可以创建无序列表,使用数字和.符号可以创建有序列表。列表项目可以嵌套使用。 5. 链接: 使用[链接文本](链接地址)来创建链接,链接地址可以是相对路径或绝对路径。也可以使用<链接地址>来创建显示链接的网址。 6. 图片: 使用![图片描述](图片链接)来插入图片,图片链接可以是相对路径或绝对路径。 以上只是GitHub Markdown语法的一些常见用法,还有其他更多的语法可以在GitHub官方文档中找到。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [GItHub----Makedown语法学习(快速入门)](https://blog.csdn.net/BlueAmerTJ/article/details/51556308)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值