注意
以下语法适用于非代码搜索。有关代码搜索语法的更多信息,请参阅 了解 GitHub 代码搜索语法。
查询大于或小于另一个值的数值
您可以使用 >、>=、< 和 <= 来搜索大于、大于等于、小于以及小于等于另一个值的数值。
| 查询 | 示例 |
|---|---|
>n | cats stars:>1000 匹配包含单词 “cats” 且星标数超过 1000 的仓库。 |
>=n | cats topics:>=5 匹配包含单词 “cats” 且主题数为 5 或以上的仓库。 |
<n | cats size:<10000 匹配代码中包含单词 “cats” 且文件大小小于 10 KB 的文件。 |
<=n | cats stars:<=50 匹配包含单词 “cats” 且星标数不超过 50 的仓库。 |
您还可以使用 范围查询 来搜索大于等于或小于等于另一个值的数值。
| 查询 | 示例 |
|---|---|
n..* | cats stars:10..* 等价于 stars:>=10,并匹配包含单词 “cats” 且星标数至少为 10 的仓库。 |
*..n | cats stars:*..10 等价于 stars:<=10,并匹配包含单词 “cats” 且星标数不超过 10 的仓库。 |
查询范围内的数值
您可以使用范围语法 n..n 来搜索位于某一范围内的数值,其中第一个数字 N 为最低值,第二个为最高值。
| 查询 | 示例 |
|---|---|
n..n | cats stars:10..50 匹配包含单词 “cats” 且星标数在 10 到 50 之间的仓库。 |
查询日期
您可以使用 >、>=、<、<=,以及 范围查询 来搜索早于或晚于某个日期的记录,或在某段日期范围内的记录。日期格式必须遵循 ISO 8601 标准,即 YYYY-MM-DD(年‑月‑日)。
| 查询 | 示例 |
|---|---|
>YYYY-MM-DD | cats created:>2016-04-29 匹配包含单词 “cats” 且创建时间在 2016 年 4 月 29 日之后的议题。 |
>=YYYY-MM-DD | cats created:>=2017-04-01 匹配包含单词 “cats” 且创建时间在 2017 年 4 月 1 日及之后的议题。 |
<YYYY-MM-DD | cats pushed:<2012-07-05 匹配包含单词 “cats” 且最后一次推送时间在 2012 年 7 月 5 日之前的仓库。 |
<=YYYY-MM-DD | cats created:<=2012-07-04 匹配包含单词 “cats” 且创建时间在 2012 年 7 月 4 日及之前的议题。 |
YYYY-MM-DD..YYYY-MM-DD | cats pushed:2016-04-30..2016-07-04 匹配包含单词 “cats” 且在 2016 年 4 月末至 7 月之间被推送的仓库。 |
YYYY-MM-DD..* | cats created:2012-04-30..* 匹配包含单词 “cats” 且创建时间在 2012 年 4 月 30 日及之后的议题。 |
*..YYYY-MM-DD | cats created:*..2012-07-04 匹配包含单词 “cats” 且创建时间在 2012 年 7 月 4 日及之前的议题。 |
您还可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以按小时、分钟和秒进行搜索。这由 T、随后 HH:MM:SS(时‑分‑秒)以及 UTC 偏移量 +00:00 组成。
| 查询 | 示例 |
|---|---|
YYYY-MM-DDTHH:MM:SS+00:00 | cats created:2017-01-01T01:00:00+07:00..2017-03-01T15:30:15+07:00 匹配在 2017 年 1 月 1 日 01:00(UTC+07:00)至 2017 年 3 月 1 日 15:30(UTC+07:00)之间创建的议题。 |
YYYY-MM-DDTHH:MM:SSZ | cats created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z 匹配在 2016 年 3 月 21 日 14:11(UTC)至 2016 年 4 月 7 日 20:45(UTC)之间创建的议题。 |
排除匹配限定符的结果
您可以通过排除一个或多个子集来缩小搜索结果。要排除所有被某个限定符匹配的结果,只需在该限定符前加上连字符 (-)。
| 查询 | 示例 |
|---|---|
-QUALIFIER | cats stars:>10 -language:javascript 匹配包含单词 “cats” 且星标数超过 10,但不是使用 JavaScript 编写的仓库。 |
-QUALIFIER | mentions:defunkt -org:github 匹配提及 @defunkt 的议题,但不在 GitHub 组织的仓库中。 |
排除包含特定关键字的结果
您可以使用 NOT 语法排除包含特定词语的结果。NOT 运算符只能用于字符串关键字,不能用于数字或日期。
| 查询 | 示例 |
|---|---|
NOT | hello NOT world 匹配包含单词 “hello” 但不包含单词 “world” 的仓库。 |
对包含空格的查询使用引号
如果您的搜索查询包含空格,需要用引号将其括起来。例如:
- cats NOT "hello world" 匹配包含单词 “cats” 但不包含 “hello world” 的仓库。
- build label:"bug fix" 匹配包含单词 “build” 且标签为 “bug fix” 的议题。
包含用户名的查询
如果查询中出现需要用户名的限定符(例如 user、actor 或 assignee),可以使用任意有效用户名指定具体人员,使用 @me 指定当前用户,或使用 @copilot 指定 Copilot。
| 查询 | 示例 |
|---|---|
QUALIFIER:USERNAME | author:nat 匹配由 @nat 编写的提交。 |
QUALIFIER:@me | is:issue assignee:@me 匹配分配给当前查看结果的用户的议题。 |
QUALIFIER:@copilot | is:pr reviewed-by:@copilot 匹配由 Copilot 审核的拉取请求。更多信息,请参阅 使用 GitHub Copilot 进行代码审查。 |
只能在限定符后使用 @me 或 @copilot,不能将其作为普通搜索词使用,例如 @me main.workflow。