身為程序員 你真的會(huì)使用github搜索嗎叔收?

"Madison龍少"

身為程序員 你真的會(huì)使用github搜索嗎?

前言

?github作為全球最大的開源軟件項(xiàng)目托管平臺(tái)筐带,我相信不少程序員都在使用今穿。但是你真的會(huì)使用github的搜索功能嗎?

?我們經(jīng)常會(huì)在GitHub上搜索代碼伦籍、項(xiàng)目蓝晒、用戶或查找相關(guān)主題腮出,最簡單常用的方法是在GitHub主頁搜索框中直接輸入相關(guān)信息進(jìn)行查找,比如我們要搜索spring-boot相關(guān)項(xiàng)目如下圖所示:

"Madison龍少"

那如何能精準(zhǔn)定位到我們需要找的代碼芝薇、項(xiàng)目胚嘲、用戶或查找相關(guān)主題呢?本文就詳細(xì)來講一下在GitHub上如何精準(zhǔn)搜索的巧妙技巧洛二。

搜索語法篇

常用詞含義

  • watch:會(huì)持續(xù)收到該項(xiàng)目的動(dòng)態(tài)
  • fork:復(fù)制某個(gè)倉庫到自己的Github倉庫中
  • star:可以理解為點(diǎn)贊
  • clone:將項(xiàng)目下載至本地
  • follow:關(guān)注你感興趣的作者馋劈,會(huì)收到他們的動(dòng)態(tài)

搜索 GitHub 時(shí),可以構(gòu)建匹配特定數(shù)字和單詞的查詢晾嘶。

查詢大于或小于另一個(gè)值的值

可以使用 >妓雾、>=、< 和 <= 搜索大于垒迂、大于等于械姻、小于以及小于等于另一個(gè)值的值。

查詢 示例
>n spring-boot stars:>2000 匹配含有 "spring-boot" 字樣机断、星標(biāo)超過 1000 個(gè)的倉庫楷拳。
>=n spring-boot topics:>=5 匹配含有 "spring-boot" 字樣、有 5 個(gè)或更多主題的倉庫吏奸。
<n spring-boot size:<10000 匹配小于 10 KB 的文件中含有 "spring-boot" 字樣的代碼欢揖。
<=n spring-boot stars:<=50 匹配含有 "spring-boot" 字樣、星標(biāo)不超過 50 個(gè)的倉庫奋蔚。


"Madison龍少"

<img src = "https://media.giphy.com/media/ZgthKMd4r4B8wxYgPW/source.gif">

"Madison龍少"

還可以使用范圍查詢搜索大于等于或小于等于另一個(gè)值的值她混。

查詢 示例
n..* spring-boot stars:5000..* 等同于 stars:>=5000 并匹配含有 "spring-boot" 字樣、有 5000 個(gè)或更多星號的倉庫旺拉。
*..n spring-boot stars:*..20 等同于 stars:<=20 并匹配含有 "spring-boot" 字樣产上、有不超過 20 個(gè)星號的倉庫。


"Madison龍少"

查詢范圍之間的值

可以使用范圍語法 n..n 搜索范圍內(nèi)的值蛾狗,其中第一個(gè)數(shù)字 n 是最低值晋涣,而第二個(gè)是最高值。

查詢 示例
n..n spring-boot stars:4000..5000 匹配含有 "spring-boot" 字樣沉桌、有4000到5000個(gè)星號的倉庫
"Madison龍少"

查詢?nèi)掌?/h3>

可以通過使用 >谢鹊、>=、<留凭、<= 和范圍查詢搜索早于或晚于另一個(gè)日期佃扼,或者位于日期范圍內(nèi)的日期。 日期格式必須遵循 ISO8601標(biāo)準(zhǔn)蔼夜,即 YYYY-MM-DD(年-月-日)兼耀。

查詢 示例
>YYYY-MM-DD spring-boot created:>2016-04-29 匹配含有 "spring-boot" 字樣、在 2016 年 4 月 29 日之后創(chuàng)建的議題。
>=YYYY-MM-DD spring-boot created:>=2017-04-01 匹配含有 "spring-boot" 字樣瘤运、在 2017 年 4 月 1 日或之后創(chuàng)建的議題窍霞。
<YYYY-MM-DD spring-boot pushed:<2012-07-05 匹配在 2012 年 7 月 5 日之前推送的倉庫中含有 "spring-boot" 字樣的代碼。
<=YYYY-MM-DD spring-boot created:<=2012-07-04 匹配含有 "spring-boot" 字樣拯坟、在 2012 年 7 月 4 日或之前創(chuàng)建的議題但金。
YYYY-MM-DD..YYYY-MM-DD spring-boot pushed:2016-04-30..2016-07-04 匹配含有 "spring-boot" 字樣、在 2016 年 4 月末到 7 月之間推送的倉庫
YYYY-MM-DD..* spring-boot created:2012-04-30..* 匹配在 2012 年 4 月 30 日之后創(chuàng)建郁季、含有 "spring-boot" 字樣的議題冷溃。
*..YYYY-MM-DD spring-boot created:*..2012-07-04 匹配在 2012 年 7 月 4 日之前創(chuàng)建、含有 "spring-boot" 字樣的議題梦裂。


也可以在日期后添加可選的時(shí)間信息 THH:MM:SS+00:00似枕,以便按小時(shí)、分鐘和秒進(jìn)行搜索塞琼。 這是 T菠净,隨后是 HH:MM:SS(時(shí)-分-秒)和 UTC 偏移 (+00:00)禁舷。

查詢 示例
YYYY-MM-DDTHH:MM:SS+00:00 spring-boot 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-DDTHH:MM:SSZ spring-boot 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" 字樣的倉庫吠谢。
"Madison龍少"

縮小搜索結(jié)果范圍的另一種途徑是排除特定的子集土童。 您可以為任何搜索限定符添加 - 前綴,以排除該限定符匹配的所有結(jié)果工坊。

查詢 示例
-QUALIFIER spring-boot stars:>1000 -language:kotlin 匹配含有 "spring-boot" 字樣献汗、有超過 1000 個(gè)星號但并非以 kotlin 編寫的倉庫。
mentions:defunkt -org:github 匹配提及 @defunkt 且不在 GitHub 組織倉庫中的議題
"Madison龍少"

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

如果搜索含有空格的查詢王污,您需要用引號將其括起來罢吃。

  • spring-boot NOT "hello world" 匹配含有 "spring-boot" 字樣但不含有 "hello world" 字樣的倉庫。
  • build label:"bug fix" 匹配具有標(biāo)簽 "bug fix"昭齐、含有 "build" 字樣的議題尿招。

某些非字母數(shù)字符號(例如空格)會(huì)從引號內(nèi)的代碼搜索查詢中刪除,因此結(jié)果可能出乎意料。

使用用戶名的查詢

如果搜索查詢包含需要用戶名的限定符就谜,例如 user把沼、actorassignee,您可以使用任何 GitHub 用戶名指定特定人員吁伺,或使用 @me 指定當(dāng)前用戶饮睬。

查詢 示例
QUALIFIER:USERNAME author:nat 匹配 @nat 創(chuàng)作的提交。
QUALIFIER:@me is:issue assignee:@me 匹配已分配給結(jié)果查看者的議題

@me 只能與限定符一起使用篮奄,而不能用作搜索詞捆愁,例如 @me main.workflow。

高級檢索-搜索倉庫

按倉庫名稱窟却、說明或自述文件內(nèi)容搜索

通過 in 限定符昼丑,您可以將搜索限制為倉庫名稱倉庫說明夸赫、自述文件內(nèi)容或這些的任意組合菩帝。 如果省略此限定符,則只搜索倉庫名稱和說明茬腿。

限定符 示例
in:name seckill in:name 匹配倉庫名稱中含有 "seckill" 的倉庫呼奢。
in:description seckill in:name,description 匹配倉庫名稱或說明中含有 "seckill" 的倉庫
in:readme seckill in:readme 匹配倉庫自述文件中提及 "seckill" 的倉庫。
repo:owner/name repo:codingXiaxw/seckill 匹配特定倉庫名稱切平。
"Madison龍少"

在用戶或組織的倉庫內(nèi)搜索

要在特定用戶組織擁有的所有倉庫中搜索仗扬,您可以使用 userorg 限定符述暂。

限定符 示例
user:USERNAME user:defunkt forks:>100 匹配來自 @defunkt、擁有超過 100 復(fù)刻的倉庫。
org:ORGNAME org:github 匹配來自 GitHub 的倉庫舱馅。

按倉庫大小搜索

size 限定符使用大于笑陈、小于和范圍限定符查找匹配特定大幸畚啤(以千字節(jié)為單位)的倉庫蟀瞧。

限定符 示例
size:n size:1000 匹配恰好為 1 MB 的倉庫。
size:>=30000 匹配至少為 30 MB 的倉庫届氢。
size:<50 匹配小于 50 KB 的倉庫欠窒。
size:50..120 匹配介于 50 KB 與 120 KB 之間的倉庫。

按關(guān)注者數(shù)量搜索

可以使用 followers 限定符以及大于悼沈、小于和范圍限定符贱迟,基于關(guān)注倉庫用戶數(shù)量過濾倉
庫。

限定符 示例
followers:n spring-boot followers:>=10000匹配有 10000 或更多關(guān)注者提及文字 "spring-boot" 的倉庫絮供。
spring followers:1..10 匹配擁有 1 到 10 個(gè)關(guān)注者并且提及 "spring" 一詞的的倉庫衣吠。
"Madison龍少"

按復(fù)刻數(shù)量搜索

forks 限定符使用大于、小于和范圍限定符指定倉庫應(yīng)具有的復(fù)刻數(shù)量壤靶。
| 限定符| 示例 |
| :--: | :--:|
|forks:n| forks:5 匹配只有 5 個(gè)復(fù)刻的倉庫缚俏。|
| | forks:>=205 匹配具有至少 205 個(gè)復(fù)刻的倉庫。|
| | forks:<90 匹配具有少于 90 個(gè)復(fù)刻的倉庫。|
| | forks:10..20 匹配具有 10 到 20 個(gè)復(fù)刻的倉庫忧换。|

[圖片上傳失敗...(image-a295b5-1622946182737)]

按星號數(shù)量搜索

可以使用大于恬惯、小于和范圍限定符,基于倉庫的星標(biāo)數(shù)量來搜索倉庫亚茬。

限定符 示例
stars:n stars:500 匹配恰好具有 500 個(gè)星號的倉庫酪耳。
stars:10..20 匹配具有 10 到 20 個(gè)星號、小于 1000 KB 的倉庫刹缝。
stars:>=500 fork:true language:php 匹配具有至少 500 個(gè)星號碗暗,包括復(fù)刻的星號(以 PHP 編寫)的倉庫。
"Madison龍少"

按倉庫創(chuàng)建或上次更新時(shí)間搜索

?可以基于創(chuàng)建時(shí)間上次更新時(shí)間過濾倉庫梢夯。 對于倉庫創(chuàng)建言疗,您可以使用 created 限定符;要了解倉庫上次更新的時(shí)間颂砸,您要使用 pushed 限定符噪奄。 pushed 限定符將返回倉庫列表,按倉庫中任意分支上最近進(jìn)行的提交排序人乓。
?兩者均采用日期作為參數(shù)勤篮。 日期格式必須遵循 ISO8601標(biāo)準(zhǔn),即 YYYY-MM-DD(年-月-日)撒蟀。 您也可以在日期后添加可選的時(shí)間信息 THH:MM:SS+00:00叙谨,以便按小時(shí)分鐘進(jìn)行搜索保屯。 這是 T,隨后是 HH:MM:SS(時(shí)-分-秒)和 UTC 偏移 (+00:00)涤垫。

限定符 示例
created:YYYY-MM-DD webos created:<2011-01-01 匹配具有 "webos" 字樣姑尺、在 2011 年之前創(chuàng)建的倉庫。
pushed:YYYY-MM-DD css pushed:>2013-02-01 匹配具有 "css" 字樣蝠猬、在 2013 年 1 月之后收到推送的倉庫切蟋。
case pushed:>=2013-03-06 fork:only 匹配具有 "case" 字樣、在 2013 年 3 月 6 日或之后收到推送并且作為復(fù)刻的倉庫榆芦。

按語言搜索

可以根據(jù)倉庫中代碼的語言搜索倉庫柄粹。

限定符 示例
language:LANGUAGE rails language:javascript 匹配具有 "rails" 字樣、以 JavaScript 編寫的倉庫匆绣。
"Madison龍少"

按主題搜索

可以找到按特定主題分類的所有倉庫驻右。
| 限定符| 示例 |
| :--: | :--:|
|topic:TOPIC| topic:jekyll匹配已歸類為 "jekyll" 主題的倉庫。|

按主題數(shù)量搜索

可以使用 topics 限定符以及大于崎淳、小于和范圍限定符堪夭,根據(jù)應(yīng)用于倉庫的主題數(shù)量來搜索倉庫。

限定符 示例
topics:n topics:5 匹配具有五個(gè)主題的倉庫。
topics:>3 匹配超過三個(gè)主題的倉庫森爽。

按許可搜索

可以根據(jù)倉庫中許可的類型搜索倉庫恨豁。 您必須使用許可關(guān)鍵字,按特定許可或許可系列來過濾倉庫爬迟。

限定符 示例
license:LICENSE_KEYWORD license:apache-2.0 匹配根據(jù) Apache License 2.0 授權(quán)的倉庫

按倉庫可見性搜索

可以根據(jù)倉庫的可見性過濾搜索橘蜜。

限定符 示例
is:public is:public org:github 匹配 GitHub 擁有的公共倉庫。
is:internal is:internal test 匹配您可以訪問并且包含單詞 "test" 的內(nèi)部倉庫付呕。
is:private is:private pages 匹配您可以訪問并且包含單詞 "pages" 的私有倉庫扮匠。

基于倉庫是否為鏡像搜索

可以根據(jù)倉庫是否為鏡像以及托管于其他位置托管來搜索倉庫。

限定符 示例
mirror:true mirror:true GNOME 匹配是鏡像且包含 "GNOME" 字樣的倉庫凡涩。
mirror:false mirror:false GNOME 匹配并非鏡像且包含 "GNOME" 字樣的倉庫棒搜。

基于倉庫是否已存檔搜索

可以基于倉庫是否已存檔來搜索倉庫。

限定符 示例
archived:true archived:true GNOME 匹配已存檔且包含 "GNOME" 字樣的倉庫活箕。
archived:false archived:false GNOME 匹配未存檔且包含 "GNOME" 字樣的倉庫力麸。

基于具有 good first issue 或 help wanted 標(biāo)簽的議題數(shù)量搜索

可以使用限定符 help-wanted-issues:>ngood-first-issues:>n 搜索具有最少數(shù)量標(biāo)簽help-wantedgood-first-issue議題的倉庫。

限定符 示例
good-first-issues:>n good-first-issues:>2 javascript 匹配具有超過兩個(gè)標(biāo)簽為 good-first-issue 的議題且包含 "javascript" 字樣的倉庫育韩。
help-wanted-issues:>n help-wanted-issues:>4 react 匹配具有超過四個(gè)標(biāo)簽為 help-wanted 的議題且包含 "React" 字樣的倉庫克蚂。

高級檢索-搜索用戶

按用戶擁有的倉庫數(shù)量搜索

可以使用 repos 限定符以及大于、小于和范圍限定符基于用戶擁有的倉庫數(shù)量過濾用戶筋讨。

限定符 示例
repos:n repos:>9000 匹配其倉庫數(shù)超過 9,000 的用戶埃叭。
bert repos:10..30 匹配擁有 10 到 30 個(gè)倉庫、其用戶名或真實(shí)姓名含有 "bert" 字樣的用戶悉罕。
"Madison龍少"

按倉庫語言搜索

使用 language 限定符赤屋,您可以基于用戶所擁有倉庫的語言搜索用戶。

限定符 示例
language:LANGUAGE location:beijing language:java 匹配恰好有一個(gè)倉庫位于北京的java語言用戶壁袄。

按位置搜索

可以按其個(gè)人資料中指示的位置搜索用戶类早。

限定符 示例
location:LOCATION location:beijing language:java 匹配恰好有一個(gè)倉庫位于北京的java語言用戶。

搜索某個(gè)地區(qū)內(nèi),某種語言的大佬

location:beijing language:java

"Madison龍少"

按關(guān)注者數(shù)量搜索

可以使用 followers 限定符以及大于嗜逻、小于和范圍限定符基于用戶擁有的關(guān)注者數(shù)量過濾用戶涩僻。

限定符 示例
followers:n followers:>=1000 匹配有 1,000 個(gè)或更多關(guān)注者的用戶。
sparkle followers:1..10 匹配具有 1 到 10 個(gè)關(guān)注者栈顷、其名稱中含有 "sparkle" 字樣的用戶逆日。
"Madison龍少"

高級檢索-擴(kuò)展

awesome加強(qiáng)搜索

  • 公式:awesome 關(guān)鍵字:awesome系列,一般用來收集學(xué)習(xí)萄凤、工具室抽、書籍類相關(guān)的項(xiàng)目
  • 搜索優(yōu)秀的redis相關(guān)的項(xiàng)目,包括框架蛙卤,教程等 awesome redis
"Madison龍少"

高亮顯示某行代碼

"Madison龍少"

項(xiàng)目內(nèi)搜索

使用英文字母 t ,開啟項(xiàng)目內(nèi)搜索
項(xiàng)目地址:https://github.com/redis/redis,進(jìn)去之后 按t

"Madison龍少"

這里我再推薦一個(gè)很好用的GitHub chrome插件: Octotree

"Madison龍少"

生命不止狠半,學(xué)習(xí)不息噩死。

GitHub 官方文檔

結(jié)束語

感謝閱讀小生文章。祝大家早日富可敵國神年,實(shí)現(xiàn)財(cái)富自由已维。

寫文不易,一定要點(diǎn)贊、評論已日、收藏哦,感謝感謝感謝!!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末垛耳,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子飘千,更是在濱河造成了極大的恐慌堂鲜,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件护奈,死亡現(xiàn)場離奇詭異缔莲,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)霉旗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門痴奏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厌秒,你說我怎么就攤上這事读拆。” “怎么了鸵闪?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵檐晕,是天一觀的道長。 經(jīng)常有香客問我蚌讼,道長辟灰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任啦逆,我火速辦了婚禮伞矩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘夏志。我一直安慰自己,他們只是感情好苛让,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布沟蔑。 她就那樣靜靜地躺著,像睡著了一般狱杰。 火紅的嫁衣襯著肌膚如雪瘦材。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天仿畸,我揣著相機(jī)與錄音食棕,去河邊找鬼朗和。 笑死,一個(gè)胖子當(dāng)著我的面吹牛簿晓,可吹牛的內(nèi)容都是我干的眶拉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼憔儿,長吁一口氣:“原來是場噩夢啊……” “哼忆植!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谒臼,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤朝刊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蜈缤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拾氓,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年底哥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咙鞍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡叠艳,死狀恐怖奶陈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情附较,我是刑警寧澤吃粒,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站拒课,受9級特大地震影響徐勃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜早像,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一僻肖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧卢鹦,春花似錦臀脏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至熬粗,卻和暖如春搀玖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背驻呐。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工灌诅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芳来,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓猜拾,卻偏偏與公主長得像即舌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子关带,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容