github搜索语法
1. 限定词
支持的限定词: 仓库名(name)、项目描述(description)、内容、说明文件(readme)
关键字 | 示例 | 说明 |
---|---|---|
in:name |
java in:name | 查询仓库名中含有java的项目. |
in:description |
java in:description | 查询项目描述中有java的项目 |
in:readme |
java in:readme | 查询readme中有java的项目 |
repo:owner/name |
repo:annwyn/helloworld | 查询用户annwyn下的helloworld项目 |
辅助限定词: 可以通过项目大小(size)、拥护者数(followers)、fork数(forks)、stars数(stars)、创建时间(created)、更新时间(pushed)、项目所用语言(language)、topic标签(topic)、topic标签数(topics)...来筛选项目。辅助限定词可以多个并用,用空格隔开就行,可以搭配限定词使用,也可单独使用。
2. 查询大于或小于另一个值的值
可以使用 >
、>=
、<
和 <=
搜索大于、大于等于、小于以及小于等于另一个值的值。
查询 | 示例 | 说明 |
---|---|---|
>n |
cats starts:>1000 | 匹配含有 "cats" 字样、星标超过 1000 个的仓库。 |
>=n |
cats topics:>=5 | 匹配含有 "cats" 字样、有 5 个或更多主题的仓库。 |
<n |
cats size:<10000 | 匹配小于 10 KB 的文件中含有 "cats" 字样的代码 |
<=n |
cats starts:<=50 | 匹配含有 "cats" 字样、星标不超过 50 个的仓库。 |
还可以使用 范围查询 搜索大于等于或小于等于另一个值的值。
查询 | 示例 | 说明 |
---|---|---|
n..* |
cats size:10...* | 等同于starts:>=10 并匹配含有 "cats" 字样、有 10 个或更多星号的仓库。 |
*..n |
cats starts:*...10 | 等同于starts:<=10 并匹配含有 "cats" 字样、有不超过 10 个星号的仓库。 |
3. 查询范围之间的值
可以使用范围语法 n..n
搜索范围内的值,其中第一个数字 n 是最低值,而第二个是最高值。
查询 | 示例 | 说明 |
---|---|---|
n..n |
cats starts:10...50 | 匹配含有 "cats" 字样、有 10 到 50 个星号的仓库。 |
4. 查询日期
可以通过使用 >
、>=
、<
、<=
和 范围查询 搜索早于或晚于另一个日期,或者位于日期范围内的日期。其中日期格式必须遵循[ISO8601]标准,即 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 | 匹配在 2012 年 7 月 5 日之前推送的仓库中含有 "cats" 字样的代码。 |
<=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..* | 匹配在 2012 年 4 月 30 日之后创建、含有 "cats" 字样的议题。 |
*..yyyy-MM-dd |
cats created:>*..2016-04-30 | 匹配在 2012 年 7 月 4 日之前创建、含有 "cats" 字样的议题。 |
也可以在日期后添加可选的时间信息 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 年 1 月 1 日凌晨 1 点(UTC 偏移为 07:00 )之后创建的议题。 |
yyyy-MM-ddTHH:mm:ssZ |
cats create:>2017-01-01T01:00:00Z | 匹配在 2017 年 1 月 1 日凌晨 1 点之后创建的议题。 |
5. 排除特定结果
可以使用 NOT
语法排除包含特定字词的结果。 NOT
运算符只能用于字符串关键词, 不适用于数字或日期。
查询 | 示例 | 说明 |
---|---|---|
NOT |
hello NOT world | 匹配含有 "hello" 字样但不含有 "world" 字样的仓库。 |
- |
cats starts:>10 -language:java | 匹配含有 "cats" 字样、有超过 10 个星号但并非以java 编写的仓库。 |