技术泛舟 | Github搜索语法

Benz & 寻找助你穿越结构洞的飞行器

了解搜索语法

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

在本文中

  • 查询大于或小于另一个值的值
  • 查询范围之间的值
  • 查询日期
  • 排除某些结果
  • 对带空格的查询使用引号
  • 用户名查询

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

您可以使用>>=<,和<=搜索是比大于,大于或等于,小于值,并且小于或等于另一个值。

询问 例子
>*n* cats stars:> 1000将具有超过1000个stars的词库“ cats”与存储库进行匹配。
>=*n* cats主题:> = 5将具有5个或更多主题的单词“ cats”与存储库进行匹配。
<*n* cats size:<10000,将小于10 KB的文件中的代码与单词“ cats”匹配。
<=*n* cats stars:<= 50匹配具有50个或更少星号的单词“ cats”的存储库。

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

询问 例子
*n*..* cats stars:10 .. *等同于stars:>=10并匹配具有10个或更多星级的单词“ cats”的存储库。
*..*n* cats stars:* .. 10等于stars:<=10并匹配带有10个或更少星号的单词“ cats”的存储库。

查询范围之间的值

您可以使用范围语法来搜索范围内的值,其中第一个数字n是最小值,第二个数字是最大值。*n*..*n*

询问 例子
*n*..*n* cats stars:10..50将带有“ cats”一词的存储库与10到50星之间进行匹配。

查询日期

您可以搜索日期,除另一个日期,或者那年秋天日期范围内较早或较晚的是,通过使用>>=<<=,和范围查询。日期格式必须遵循ISO8601标准,即YYYY-MM-DD(年-月-日)。

询问 例子
>*YYYY*-*MM*-*DD* 创建的猫:> 2016-04-29匹配在2016年4月29日之后创建的带有“猫”一词的问题。
>=*YYYY*-*MM*-*DD* 创建的猫:> = 2017-04-01匹配在2017年4月1日或之后创建的带有“猫”一词的问题。
<*YYYY*-*MM*-*DD* 推送的猫:<2012-07-05,将代码与在2012年7月5日之前推送到的存储库中的单词“ cats”匹配。
<=*YYYY*-*MM*-*DD* 创建的猫:<= 2012-07-04匹配在2012年7月4日或之前创建的带有“猫”一词的问题。
*YYYY*-*MM*-*DD*..*YYYY*-*MM*-*DD* 推送的猫:2016-04-30..2016-07-04将存储库与单词“ cats”匹配,该单词在2016年4月底至7月之间被推送到。
*YYYY*-*MM*-*DD*..* 创建的猫:2012-04-30 .. *与2012年4月30日之后创建的包含“猫”一词的问题匹配。
*..*YYYY*-*MM*-*DD* 创建的猫:* .. 2012-07-04与2012年7月4日之前创建的包含单词“猫”的问题相匹配。

您还可以THH:MM:SS+00:00在日期之后添加可选的时间信息,以小时,分钟和秒为单位进行搜索。那是T,其后是HH:MM:SS(小时-分钟-秒)和一个UTC偏移量(+00:00)。

询问 例子
*YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*+*00*:*00* 创建的猫:2017-01-01T01:00:00 + 07:00..2017-03-01T15:30:15 + 07:00匹配于2017年1月1日凌晨1点之间创建且UTC偏移为07:003月1日的问题,2017年下午3点,UTC偏移量为07:00
*YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*Z 创建的猫:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z匹配在2016年3月21日下午2:11和2106年4月7日晚上8:45之间创建的问题。

排除某些结果

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

询问 例子
NOT hello NOT world匹配具有单词“ hello”但没有单词“ world”的存储库。

您可以缩小搜索结果范围的另一种方法是排除某些子集。您可以在任何搜索限定词前添加,-以排除该限定词匹配的所有结果。

询问 例子
-*QUALIFIER* cats stars:> 10 -language:javascript将库与单词“ cats”匹配,该单词具有超过10个星标但不是用JavaScript编写的。
提及:defunkt -org:github匹配GitHub组织中不在仓库中提及@defunkt的问题

对带空格的查询使用引号

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

  • cats不是“ hello world”,将存储库中的单词“ cats”与单词“ hello world”匹配。
  • 构建标签:“错误修复”与带有标签“错误修复”的单词“构建”匹配。

某些非字母数字符号(例如空格)从引号内的代码搜索查询中删除,因此结果可能是意外的。

用户名查询

如果您的搜索查询中包含需要用户名,如资格useractor或者assignee,你可以使用任何GitHub的用户名,指定一个特定的人,或@me到指定当前用户。

询问 例子
QUALIFIER:USERNAME author:nat 匹配@nat编写的提交
QUALIFIER:@me is:issue assignee:@me 匹配分配给查看结果的人的问题

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

Ref https://docs.github.com/en/github/searching-for-information-on-github/understanding-the-search-syntax

你可能感兴趣的:(技术泛舟 | Github搜索语法)