跳至主要内容

了解搜索语法

在 GitHub 上搜索时,您可以构造匹配特定数字和词语的查询。

注意

以下语法适用于非代码搜索。有关代码搜索语法的更多信息,请参阅 了解 GitHub 代码搜索语法

查询大于或小于另一个值的数值

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

查询示例
>ncats stars:>1000 匹配包含单词 “cats” 且星标数超过 1000 的仓库。
>=ncats topics:>=5 匹配包含单词 “cats” 且主题数为 5 或以上的仓库。
<ncats size:<10000 匹配代码中包含单词 “cats” 且文件大小小于 10 KB 的文件。
<=ncats stars:<=50 匹配包含单词 “cats” 且星标数不超过 50 的仓库。

您还可以使用 范围查询 来搜索大于等于或小于等于另一个值的数值。

查询示例
n..*cats stars:10..* 等价于 stars:>=10,并匹配包含单词 “cats” 且星标数至少为 10 的仓库。
*..ncats stars:*..10 等价于 stars:<=10,并匹配包含单词 “cats” 且星标数不超过 10 的仓库。

查询范围内的数值

您可以使用范围语法 n..n 来搜索位于某一范围内的数值,其中第一个数字 N 为最低值,第二个为最高值。

查询示例
n..ncats stars:10..50 匹配包含单词 “cats” 且星标数在 10 到 50 之间的仓库。

查询日期

您可以使用 >>=<<=,以及 范围查询 来搜索早于或晚于某个日期的记录,或在某段日期范围内的记录。日期格式必须遵循 ISO 8601 标准,即 YYYY-MM-DD(年‑月‑日)。

查询示例
>YYYY-MM-DDcats created:>2016-04-29 匹配包含单词 “cats” 且创建时间在 2016 年 4 月 29 日之后的议题。
>=YYYY-MM-DDcats created:>=2017-04-01 匹配包含单词 “cats” 且创建时间在 2017 年 4 月 1 日及之后的议题。
<YYYY-MM-DDcats pushed:<2012-07-05 匹配包含单词 “cats” 且最后一次推送时间在 2012 年 7 月 5 日之前的仓库。
<=YYYY-MM-DDcats created:<=2012-07-04 匹配包含单词 “cats” 且创建时间在 2012 年 7 月 4 日及之前的议题。
YYYY-MM-DD..YYYY-MM-DDcats 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-DDcats 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:00cats 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:SSZcats created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z 匹配在 2016 年 3 月 21 日 14:11(UTC)至 2016 年 4 月 7 日 20:45(UTC)之间创建的议题。

排除匹配限定符的结果

您可以通过排除一个或多个子集来缩小搜索结果。要排除所有被某个限定符匹配的结果,只需在该限定符前加上连字符 (-)。

查询示例
-QUALIFIERcats stars:>10 -language:javascript 匹配包含单词 “cats” 且星标数超过 10,但不是使用 JavaScript 编写的仓库。
-QUALIFIERmentions:defunkt -org:github 匹配提及 @defunkt 的议题,但不在 GitHub 组织的仓库中。

排除包含特定关键字的结果

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

查询示例
NOThello NOT world 匹配包含单词 “hello” 但不包含单词 “world” 的仓库。

对包含空格的查询使用引号

如果您的搜索查询包含空格,需要用引号将其括起来。例如:

包含用户名的查询

如果查询中出现需要用户名的限定符(例如 useractorassignee),可以使用任意有效用户名指定具体人员,使用 @me 指定当前用户,或使用 @copilot 指定 Copilot。

查询示例
QUALIFIER:USERNAMEauthor:nat 匹配由 @nat 编写的提交。
QUALIFIER:@meis:issue assignee:@me 匹配分配给当前查看结果的用户的议题。
QUALIFIER:@copilotis:pr reviewed-by:@copilot 匹配由 Copilot 审核的拉取请求。更多信息,请参阅 使用 GitHub Copilot 进行代码审查

只能在限定符后使用 @me@copilot,不能将其作为普通搜索词使用,例如 @me main.workflow

© . This site is unofficial and not affiliated with GitHub, Inc.