一篇學會GitHub搜索語法

1 查詢大於或小於給定參數的值

您能夠使用 >、>=、< 和 <= 搜索大於、大於等於、小於以及小於等於另外一個值的值。javascript

查詢 示例
>n cats stars:>1000 匹配1000星以上,含有"cats"字樣倉庫
>=n cats topics:>=5 匹配5個及以上topics,含有"cats"字樣倉庫
<n cats size:<10000 在小於10KB的文件中,匹配含有"cats"的代碼
<=n cats stars:<=50 匹配50星及如下,含有"cats"字樣倉庫

還能夠使用範圍查詢搜索大於等於或小於等於另外一個值的值。java

查詢 示例
n..* cats stars:10..* 等同於 stars:>=10 並匹配含有 "cats" 字樣、有 10 個或更多星號的倉庫
*..n cats stars:*..10 等同於 stars:<=10 並匹配含有 "cats" 字樣、有不超過 10 個星號的倉庫。

2 查詢範圍之間的值

能夠使用範圍語法n..n來搜索範圍內的值,其中第一個數字n是最低值,第二個數字是最高值。git

查詢 示例
n..n cats stars:10..50 匹配含有 "cats" 字樣、有 10 到 50 個星號的倉庫

3 查詢日期

能夠經過使用 >、>=、<、<= 和範圍查詢搜索早於或晚於另外一個日期,或者位於日期範圍內的日期。 日期格式必須遵循 ISO8601標準,即 YYYY-MM-DD(年-月-日)。github

查詢 示例
>YYYY-MM-DD ccats created:>2016-04-29 匹配在2016年4月29日以後建立、含有「cats」字樣的議題
>=YYYY-MM-DD cats created:>=2017-04-01 匹配在2017年4月1日或以後建立、含有「cats」字樣的議題
<YYYY-MM-DD cats pushed:<2012-07-05 匹配2012年7月5日以前推送、含有「 cats」字樣的代碼
<=YYYY-MM-DD cats created:<=2012-07-04 匹配在2012年7月4日或以前建立、含有「cats」字樣的議題
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:*..2012-04-30 匹配在 2012 年 7 月 4 日以前建立、含有 "cats" 字樣的議題

也能夠在日期後添加可選的時間信息 THH:MM:SS+00:00,以便按小時、分鐘和秒進行搜索。 這是 T,隨後是 HH:MM:SS(時-分-秒)和 UTC 偏移 (+00:00)ui

查詢 示例
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 日凌晨 1 點(UTC 偏移爲 07:00)與 2017 年 3 月 1 日下午 3 點(UTC 偏移爲 07:00)之間建立的議題
YYYY-MM-DDTHH:MM:SSZ cats created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z 匹配在 2016 年 3 月 21 日下午 2:11 與 2016 年 4 月 7 日晚上 8:45 之間建立的議題

4 排除特定結果

能夠使用 NOT 語法排除包含特定字詞的結果。 NOT 運算符只能用於字符串關鍵詞, 不適用於數字或日期。spa

查詢 示例
NOT hello NOT world 匹配含有 "hello" 字樣但不含有 "world" 字樣的倉庫

縮小搜索結果範圍的另外一種途徑是排除特定的子集。 您能夠爲任何搜索限定符添加 - 前綴,以排除該限定符匹配的全部結果。code

查詢 示例
-QUALIFIER cats stars:>10 -language:javascript 匹配超過10個星含有 "hello" 字樣、但不是用JavaScript編寫的倉庫
mentions:defunkt -org:github 匹配說起 @defunkt 且不在 GitHub 組織倉庫中的議題

5 對帶有空格的查詢使用引號

若是搜索含有空格的查詢,您須要用引號將其括起來。 例如:ip

cats NOT "hello world" 匹配含有 "cats" 字樣但不含有 "hello world" 字樣的倉庫。
build label:"bug fix" 匹配具備標籤 "bug fix"、含有 "build" 字樣的議題。
複製代碼

某些非字母數字符號(例如空格)會從引號內的代碼搜索查詢中刪除,所以結果可能出乎意料。字符串

6 用戶名查詢

若是搜索查詢包含要求用戶名(例如user, actor, or assignee)的限定詞,則能夠使用任何GitHub用戶名來指定特定人員,或使用@me來指定當前用戶。it

查詢 示例
QUALIFIER:USERNAME author:nat 匹配@nat的提交
QUALIFIER:@me is:issue assignee:@me 匹配分配給@me走查的議題
相關文章
相關標籤/搜索