普通的搜索
相信一般人搜索項(xiàng)目時(shí)夹供,都是直接搜索技術(shù)棧相關(guān)的項(xiàng)目霎俩。
高級(jí)一點(diǎn)的搜索哀军,會(huì)根據(jù) 最匹配、最多 Star 來進(jìn)行排序打却、選擇相應(yīng)的語言杉适、選擇倉庫或者代碼來進(jìn)行篩選。
如果你只會(huì)用以上的功能柳击,那你知道的僅僅是 GitHub 搜索的冰山一角淘衙!
GitHub 的搜索是非常強(qiáng)大的!下面介紹更高級(jí)的搜索技巧腻暮。
搜索語法
搜索 GitHub 時(shí)彤守,你可以構(gòu)建匹配特定數(shù)字和單詞的查詢。
- 查詢大于或小于另一個(gè)值的值
- 您可以使用 >哭靖、>=具垫、< 和 <= 搜索大于、大于等于试幽、小于以及小于等于另一個(gè)值的值筝蚕。
查詢 | 示例 |
---|---|
>*n* |
cats stars:>1000 匹配含有 "cats" 字樣、星標(biāo)超過 1000 個(gè)的倉庫铺坞。 |
>=*n* |
cats topics:>=5 匹配含有 "cats" 字樣起宽、有 5 個(gè)或更多主題的倉庫。 |
<*n* |
cats size:<10000 匹配小于 10 KB 的文件中含有 "cats" 字樣的代碼济榨。 |
<=*n* |
cats stars:<=50 匹配含有 "cats" 字樣坯沪、星標(biāo)不超過 50 個(gè)的倉庫。 |
- 您還可以使用 范圍查詢 搜索大于等于或小于等于另一個(gè)值的值擒滑。
查詢 | 示例 |
---|---|
*n*..* |
cats stars:10..* 等同于 stars:>=10 并匹配含有 "cats" 字樣腐晾、有 10 個(gè)或更多星號(hào)的倉庫。 |
*..*n* |
cats stars:*..10 等同于 stars:<=10 并匹配含有 "cats" 字樣丐一、有不超過 10 個(gè)星號(hào)的倉庫藻糖。 |
- 查詢范圍之間的值
您可以使用范圍語法*n*..*n*
搜索范圍內(nèi)的值,其中第一個(gè)數(shù)字 n 是最低值库车,而第二個(gè)是最高值巨柒。
查詢 | 示例 |
---|---|
*n*..*n* |
cats stars:10..50 匹配含有 "cats" 字樣、有 10 到 50 個(gè)星號(hào)的倉庫。 |
- 查詢?nèi)掌?/li>
您可以通過使用 >
洋满、>=
晶乔、<
、<=
和范圍查詢搜索早于或晚于另一個(gè)日期芦岂,或者位于日期范圍內(nèi)的日期瘪弓。 日期格式必須遵循 ISO8601標(biāo)準(zhǔn)垫蛆,即 YYYY-MM-DD
(年-月-日)禽最。
查詢 | 示例 |
---|---|
>*YYYY*-*MM*-*DD* |
cats created:>2016-04-29 匹配含有 "cats" 字樣、在 2016 年 4 月 29 日之后創(chuàng)建的議題袱饭。 |
>=*YYYY*-*MM*-*DD* |
cats created:>=2017-04-01 匹配含有 "cats" 字樣川无、在 2017 年 4 月 1 日或之后創(chuàng)建的議題。 |
<*YYYY*-*MM*-*DD* |
cats pushed:<2012-07-05 匹配在 2012 年 7 月 5 日之前推送的倉庫中含有 "cats" 字樣的代碼虑乖。 |
<=*YYYY*-*MM*-*DD* |
cats created:<=2012-07-04 匹配含有 "cats" 字樣懦趋、在 2012 年 7 月 4 日或之前創(chuàng)建的議題。 |
*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 日之后創(chuàng)建、含有 "cats" 字樣的議題糙捺。 |
*..*YYYY*-*MM*-*DD* |
cats created:*..2012-07-04 匹配在 2012 年 7 月 4 日之前創(chuàng)建诫咱、含有 "cats" 字樣的議題。 |
您也可以在日期后添加可選的時(shí)間信息 THH:MM:SS+00:00
洪灯,以便按小時(shí)坎缭、分鐘和秒進(jìn)行搜索。 這是 T
签钩,隨后是 HH:MM:SS
(時(shí)-分-秒)和 UTC 偏移 (+00:00
)掏呼。
查詢 | 示例 |
---|---|
*YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*+*00*:*00* |
cats created:2017-01-01T01:00:00+07:00..2017-03-01T15:30:15+07:00匹配在 2017 年 1 月 1 日凌晨 1 點(diǎn)(UTC 偏移為 07:00 )與 2017 年 3 月 1 日下午 3 點(diǎn)(UTC 偏移為 07:00 )之間創(chuàng)建的議題。 UTC 偏移量 07:00 铅檩,2017 年 3 月 1 日下午 3 點(diǎn)憎夷。 UTC 偏移量 07:00 。 |
*YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*Z |
cats created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z 匹配在 2016 年 3 月 21 日下午 2:11 與 2016 年 4 月 7 日晚上 8:45 之間創(chuàng)建的議題昧旨。 |
- 排除特定結(jié)果
您可以使用 NOT
語法排除包含特定字詞的結(jié)果岭接。 NOT
運(yùn)算符只能用于字符串關(guān)鍵詞, 不適用于數(shù)字或日期臼予。
查詢 | 示例 |
---|---|
NOT |
hello NOT world 匹配含有 "hello" 字樣但不含有 "world" 字樣的倉庫鸣戴。 |
縮小搜索結(jié)果范圍的另一種途徑是排除特定的子集。 您可以為任何搜索限定符添加 -
前綴粘拾,以排除該限定符匹配的所有結(jié)果窄锅。
查詢 | 示例 |
---|---|
-*QUALIFIER* |
cats stars:>10 -language:javascript 匹配含有 "cats" 字樣、有超過 10 個(gè)星號(hào)但并非以 JavaScript 編寫的倉庫。 |
mentions:defunkt -org:github 匹配提及 @defunkt 且不在 GitHub 組織倉庫中的議題 |
如果搜索含有空格的查詢入偷,您需要用引號(hào)將其括起來追驴。 例如:
- cats NOT "hello world" 匹配含有 "cats" 字樣但不含有 "hello world" 字樣的倉庫。
- build label:"bug fix" 匹配具有標(biāo)簽 "bug fix"疏之、含有 "build" 字樣的議題殿雪。
某些非字母數(shù)字符號(hào)(例如空格)會(huì)從引號(hào)內(nèi)的代碼搜索查詢中刪除,因此結(jié)果可能出乎意料锋爪。
如果搜索查詢包含需要用戶名的限定符丙曙,例如 user
、actor
或 assignee
其骄,您可以使用任何 GitHub 用戶名指定特定人員亏镰,或使用 @me
指定當(dāng)前用戶。
查詢 | 示例 |
---|---|
QUALIFIER:USERNAME |
author:nat 匹配 @nat 創(chuàng)作的提交拯爽。 |
QUALIFIER:@me |
is:issue assignee:@me 匹配已分配給結(jié)果查看者的議題 |
@me
只能與限定符一起使用索抓,而不能用作搜索詞,例如 @me main.workflow
毯炮。
- 按語言搜索
通過 language
限定符逼肯,您可以搜索以特定語言編寫的倉庫內(nèi)的議題和拉取請(qǐng)求。
限定符 | 示例 |
---|---|
language:*LANGUAGE* |
language:ruby state:open 匹配 Ruby 倉庫中的開放議題桃煎。 |
具體參考:GitHub文檔