我們會經常接觸到GitHub這個開源項目托管平台,因為GitHub上面的開源項目、學習資源非常多。為了提高效率、更快地找到自己需要的資料,在這里說一些精准搜索的技巧。
學習時,經常接觸到GitHub這個開源項目托管平台,因為GitHub上面的開源項目、學習資源非常多。面對這么多的倉庫,如果直接輸入關鍵詞(比如Java、Python)搜索,搜索出來的結果數量都是幾十萬或幾百萬,再從這些資源中選擇符合自己需要的,就得花不少時間了。
當然也可以按照stars、forks等條件選擇,可搜索出來的結果好像也不太符合自己的需要。下面再介紹一些更精准的搜索技巧,減少花在尋找資料上的時間,提高學習工作效率。
符號要用英文的。如果同時使用多個搜索條件,條件之間要用空格分開。
一、 倉庫搜索
根據倉庫創建的時間或倉庫上傳更新的時間來過濾不符合條件的倉庫。
這兩個搜索都是用日期作為參數,日期格式必須是YYYY-MM-DD
,代表年月日(遵循ISO8601標准,日期時間的表示方法)。
1.1.1 根據倉庫創建時間
使用 created 限定符搜索。
限定符 | 舉例 |
---|---|
created:YYYY-MM-DD | python created:<2020-06-08 意思:搜索2020年6月8日之前創建、具有“python”字樣的倉庫。 |
1.1.2 根據倉庫上傳更新時間
使用 pushed 限定符搜索。
限定符 | 舉例 |
---|---|
pushed:YYYY-MM-DD | python pushed:>2020-06-08 意思:搜索2020年6月8日之后更新(即收到推送)、具有“python”字樣的倉庫。 python pushed:>2020-06-08 fork:only 意思:搜索具有“python”字樣、在2020年6月8日之后更新,並且是復制的倉庫。 |
1.2 倉庫名稱或自述文件(README)
使用 in 限定符搜索。
通過in
限定符,將搜索限制為根據倉庫創建時間、倉庫名稱、倉庫星標數等條件搜索(或這些條件的任意組合)。如果不用in
限定符,則只是搜索倉庫名稱和倉庫說明。
限定符 | 舉例 |
---|---|
in:name | python in:name 意思:搜索名稱中有“python”字樣的倉庫。 |
in:description 或in:about | in:description demo 意思:搜索簡介有“demo”字樣的倉庫。 |
in:name,description | python in:name,description 意思:搜索名稱或說明中有“python”字樣的倉庫。 |
in:readme | python in:readme 意思:搜索自述文件中提及“python”的倉庫。 |
repo:owner/name | repo:TheAlgorithms/python 意思:搜索TheAlgorithms的python倉庫(搜索特定倉庫名稱)。 |
上面以TheAlgorithms的python倉庫為例,該倉庫是一個81k星標的倉庫。
1.3 倉庫星標數量
使用 stars 限定符搜索。
根據倉庫星標數量進行大於、小於或范圍限定搜索。
限定符 | 舉例 |
---|---|
stars:n | stars:100 意思:搜索剛好100星標的倉庫。 |
stars:n..m | stars:10..20 意思:搜索星標數是10到20的倉庫。 |
stars:>=n fork:true language:m | stars:>=100 fork:true language:python 意思:搜索大於或等於100星標(包括分叉的星標),以python編寫的倉庫。 |
二、 主題搜索
簡介:通過特定主題來搜索相關倉庫。
使用 is:featured 、is:curated 、 repositories:n 限定符搜索。
限定符 | 舉例 |
---|---|
is:featured | is:featured python 意思:搜索https://github.com/topics上提供,並且含有“python”字樣的主題。 |
is:not-featured | is:not-featured python 意思:搜索https://github.com/topics上未提供,並且含有“python”字樣的主題。 |
is:curated | is:curated python 意思:搜索精選項目中含有“python”字樣的主題。 |
is:not-curated | is:not-curated python 意思:搜索沒有額外說明且含有“python”字樣的主題。 |
repositories:n | repositories:>100 意思:搜索超過100個倉庫的主題。 |
created:YYYY-MM-DD | python created:>2020-06-08 意思:搜索於2020年6月8日之后創建、含有“python”字樣的主題。 |
三、 代碼搜索
簡介:通過全局搜索代碼,或在特定倉庫內搜索代碼。
3.1 根據文件內容或路徑
使用 in 限定符搜索。
使用in
限定符,根據文件內容、文件路徑來搜索,或滿足這兩個條件其中之一的條件搜索。如果不使用in
限定符,則只是搜索文件內容。
限定符 | 舉例 |
---|---|
in:file | demo in:file 意思:搜索文件內容中出現“demo”的代碼。 |
in:path | demo in:path 意思:搜索文件路徑中出現“demo”的代碼。 |
in:file,path | demo in:file,path 意思:搜索文件內容或文件路徑中出現“demo”的代碼。 |
3.2 根據文件位置
使用 path 限定符搜索。
使用path
限定符搜索倉庫中特定位置顯示的代碼。使用path:/
限定符搜索位於倉庫根目錄級別的文件。可以指定目錄名稱或路徑搜索該目錄及其子目錄中的文件。
限定符 | 舉例 |
---|---|
path:/ | python filename:readme path:/ 意思:搜索位於倉庫根目錄級別、含有“python”字樣的readme文件。 |
path:DIRECTORY | test path:demo language:python 意思:搜索demo目錄及其子目錄中含有“test”字樣的python文件。 |
path:PATH/TO/DIRECTORY | test path:bad/written language:python 意思:搜索bad/wirtten目錄及其子目錄中含有“test”字樣的python文件。 |
3.3 根據文件名
使用 filename 限定符搜索。
使用filename
限定符根據文件名搜索代碼文件。
限定符 | 舉例 |
---|---|
filename:FILENAME | filename:demo 意思:搜索名為“demo”的文件。 |
filename:FORMAT | filename:.txt demo 意思:搜索具有“demo”字樣的.txt文件。 |
filename:FILENAME path:DIRECTORY language:LANGUAGE | filename:test path:demo language:python 意思:搜索demo目錄中名為test的python文件。 |
四、 搜索開發者
簡介:根據作者搜索相關項目。
使用 location 、 language 、 followers 、 fullname 參數搜索。
條件 | 舉例 |
---|---|
location:LOCATION | location:china 意思:搜索填寫的地址是在china的開發者。 |
language:LANGUAGE | language:python 意思:搜索開發語言為python的開發者。 |
followers:FOLLOWERS | followers:>=100 意思:搜索擁有超過100關注者的開發者。 |
in:fullname | Kobe in:fullname 意思:搜索用戶實名為Kobe的開發者。 |
五、 GitHub的分區
5.1 GitHub Trend
這個是GitHub的趨勢榜,宣傳語是看看GitHub今天最激動的是什么。
在這里有多個查找項目的方式,可以選擇編程語言,也可以選擇月榜、周榜、日榜。還可以選擇開發者,查看開發者的優質項目。
地址:https://github.com/trending
5.2 Github Topics
Github Topics展示了最新、最熱門的討論主題,宣傳語是瀏覽GitHub上的熱門話題。
在這里不僅可以看到開源項目,還可以看到一些非開發技術的討論主題。
5.3 Github Explore
Github Explore這里是根據你平時的興趣,推薦一些項目。
文章來源: https://blog.csdn.net/qq_45069279 ,作者:苜苜的爛筆頭,版權歸原作者所有,如需轉載,請聯系作者。