跳至主要内容

了解搜索语法

在搜索 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 之间的仓库。

查询日期

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

查询示例
>YYYY-MM-DDcats created:>2016-04-29 匹配包含“cats”且创建日期在 2016 年 4 月 29 日之后的 Issue。
>=YYYY-MM-DDcats created:>=2017-04-01 匹配包含“cats”且创建日期在 2017 年 4 月 1 日或之后的 Issue。
<YYYY-MM-DDcats pushed:<2012-07-05 匹配包含“cats”且最后推送日期在 2012 年 7 月 5 日之前的仓库。
<=YYYY-MM-DDcats created:<=2012-07-04 匹配包含“cats”且创建日期在 2012 年 7 月 4 日或之前的 Issue。
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 日之后的 Issue。
*..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 点 15 分(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 之间创建的问题。

排除与限定词匹配的结果

您可以通过排除一个或多个子集来缩小搜索结果范围。要排除与限定词匹配的所有结果,请在搜索限定词前添加连字符 (-)。

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

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

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

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

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

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

包含用户名查询

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

查询示例
限定符:用户名author:nat 匹配由 @nat 提交的提交。
限定符:@meis:issue assignee:@me 匹配分配给查看结果的人员的问题。

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