GitHub搜索基礎:擺正姿勢玩轉GitHub搜索

前言

其實很多時候,當你在尋找資源答案時,相對於普通搜索引擎,在Github裡搜索會有更大的收穫。但是很多童鞋不習慣或者根本不知道Github能幹啥,還有很多一知半解的認識Github就是給程序猿使用的網站,普通人根本不會用。

確實經常會有這樣那樣的困惑,還有在學習IT編程設計相關知識時看了很多技術的學習文檔、書籍、甚至視頻,想動手實踐,於是打開了GitHub,想找個開源項目,進行學習,獲取項目實戰經驗。

這個時候很多童鞋又會面臨這樣的問題:“我不會搜啊,我該怎麼找呀?”,最終只能放棄, 相信看完這篇文章,你就可以學會如何精準地在GitHub搜索項目。

GitHub搜索基礎:擺正姿勢玩轉GitHub搜索

開源項目的結構

在搜索之前,你需要先了解清楚一個開源項目是由哪些部分組成的,即它的結構:1、name: 項目名2、description: 項目的簡要描述3、項目的源碼4、README.md: 項目的詳細情況的介紹

除了這些要素之外,項目本身的star數和fork數,也是評判一個開源項目是否火熱的標準,這同時也是一個很重要的搜索標準。另外還有要注意觀察這個項目的最近更新日期,因為項目越活躍,那麼它的更新日期也更加頻繁,幾個月甚至幾年沒更新的那基本就是擱淺的已死項目。

開始搜索

那麼要如何在Github中以正確的姿勢進行搜索呢?

假設我們現在要搜索尋找 AdminLTE項目的資源 ,相信大部分小夥伴都是直接在搜索框裡輸入:“AdminLTE”,然後一回車,你就會發現情況像下面這樣:

GitHub搜索基礎:擺正姿勢玩轉GitHub搜索

這是最簡單的搜索,結果會顯示非常多的開源項目,只要包含“AdminLTE”這個關鍵詞,就會出現在結果列表中,因為項目太多了。這樣一來展現出來的目錄列表就太多了,你可能要花更多時間去瀏覽查看獲得你真正需要的資源信息。

按項目名Name搜索

然而在搜索框內輸入如下的代碼,就可以直接搜索項目名裡面包含“AdminLTE”的項目:

<code>in:name AdminLTE/<code>

可以看到下圖的結果,搜索結果數量上就比上面直接搜索少了幾千條:

GitHub搜索基礎:擺正姿勢玩轉GitHub搜索

但是就算這樣,其實還是有幾千條的搜索結果列出來,這些搜索結果都是項目名裡面帶有“AdminLTE”關鍵字的項目,數量還是太多,那我們進行再一步的約束,比如精確到項目的star數大於5000+,代碼如下:

<code>in:name AdminLTE stars:>5000/<code>

結果是這樣的:

GitHub搜索基礎:擺正姿勢玩轉GitHub搜索

搜索結果瞬間精確到位了,現在只有1個項目可供選擇。當然我們一般不會把star數設置得這麼高,當然一般不會設置這麼高的star數,根據實際情況進行調整,同理,我們也可以按照fork的數量來進行搜索,代碼和star數搜索類例如:

<code>in:name AdminLTE stars:>5000 forks:>3000/<code>

按README來搜索

學會了按項目名搜索後,想必按README搜索的操作,就可以舉一反三地推導出來了:

<code>in:readme AdminLTE/<code>
GitHub搜索基礎:擺正姿勢玩轉GitHub搜索

然後按上面的name搜索的同理,你也可以再次根據star數和fork數的約束來精確限制搜索的結果列表:

<code>in:readme AdminLTE stars:>3000 forks:>3000/<code>

按descriptin搜索

按項目描述descriptin搜索,就可以在你不知道項目名稱時,比較模糊地根據你的需求去進行搜索,假設需要找一些網盤的腳本插件資源,我們搜索項目描述(description)裡面包含“網盤”的項目:

<code>in:description 網盤/<code>
GitHub搜索基礎:擺正姿勢玩轉GitHub搜索

當然,這樣的結果有肯定也時一大堆很多的,假如我們是想找以python語言開發的項目, 就可以用如下代碼進行約束和精確搜索結果:

<code>in:description 網盤 language:python /<code>
GitHub搜索基礎:擺正姿勢玩轉GitHub搜索

如此一來搜索結果精確了很多。假如在這些項目裡面,我們想要找到最近才更新的項目,意思是更新時間就在最近,我們可以這樣:

<code>in:description 網盤 language:python pushed:>2020-02-20/<code>

pushed:>2020-02-20的意思是我們把項目的最後更新時間限制到2020-02-20,我們來看看結果如何:

GitHub搜索基礎:擺正姿勢玩轉GitHub搜索

搜索結果只有8個了,這幾個項目就屬於更新比較活躍的項目,這下再也不糾結了。

後記總結

好了,最後總結一下,我們想要進行精準搜索,無非就是增加篩選條件:

  • in:name xxx // 按照項目名搜索
  • in:readme xxx // 按照README搜索
  • in:description xxx // 按照description搜索

附加篩選條件:

  • stars:>xxx // stars數大於xxx
  • forks:>3000 // forks數大於xxx
  • language:xxx // 編程語言是xxx
  • pushed:>YYYY-MM-DD // 最後更新時間大於YYYY-MM-DD


分享到:


相關文章: