如何在Gihub上面精準搜索開源項目?

不少的小夥伴,常常會有這樣的困惑,我看了不少技術的學習文檔、書籍、甚至視頻,我想動手實踐,因而我打開了GitHub,想找個開源項目,進行學習,獲取項目實戰經驗。這個時候不少小夥伴就會面臨這樣的問題:「我不會搜啊,我該怎麼找呀?」,最終只能放棄。相信看完這篇文章,你就能夠學會如何精準地在GitHub搜索項目。python

開源項目的組成部分

在講清楚以前呢,咱們先來了解一下一個開源項目有哪些組成部分:編程

  • name: 項目名
  • description: 項目的簡要描述
  • 項目的源碼
  • README.md: 項目的詳細狀況的介紹

那麼除了這些要素以外,項目自己的star數和fork數,也是評判一個開源項目是否火熱的標準,這同時也是一個很重要的搜索標準。另外咱們也要注意觀察這個項目的最近更新日期,由於項目越活躍,那麼它的更新日期也更加頻繁。bash

以上要素就是咱們在進行搜索的時候要注意的一些關鍵點。編程語言

如何搜索

那咱們到底如何搜索呢?微服務

假設咱們如今要搜索React,相信大部分小夥伴都是直接在搜索框裏輸入:「React」,而後一回車,你就會發現狀況像下面這樣:工具

屏幕快照 2020-02-07 13.19.13.png

搜索結果會顯示很是多的開源項目,簡直讓你目不暇接,無從下手,不少小夥伴搜到這一步就放棄了,由於項目太多了,根本找不到如何找到本身感興趣的開源項目,因此這樣搜索很是的不許確。因此咱們來學習一下稍微精確一點的搜索方法。學習

按照 name 搜索

搜索項目名裏面包含React的項目:spa

in:name React
複製代碼

獲得以下結果:code

屏幕快照 2020-02-07 13.33.28.png

能夠看到,這些搜索結果都是項目名裏面帶有「React」關鍵字的項目,可是項目數量依舊不少。cdn

如今咱們來約束一下

好比我再精確到項目的star數大於5000+:

in:name React stars:>5000
複製代碼

結果是這樣的:

屏幕快照 2020-02-07 13.38.59.png

搜索結果瞬間精確了不少,如今只有114個項目可供選擇。固然咱們通常不會把star數設置得這麼高,通常設置個1000就差很少了。

同理,咱們也能夠按照fork的數量來進行搜索:

in:name React stars:>5000 forks:>3000
複製代碼

屏幕快照 2020-02-07 13.42.56.png

你會發現,結果愈來愈精確!

按照README來搜索

搜索README.md裏面包含React的項目:

in:readme React
複製代碼

屏幕快照 2020-02-07 13.46.50.png

結果有這麼多,那麼咱們再限制一下它的star數和fork數:

in:readme React stars:>3000 forks:>3000
複製代碼

屏幕快照 2020-02-07 13.50.04.png

搜索結果一會兒精確到了90個。這個時候你再去選擇項目,就會變得容易不少。

按照descriptin搜索

假設咱們如今要學習微服務的項目,咱們搜索項目描述(description)裏面包含微服務的項目:

in:description 微服務
複製代碼

屏幕快照 2020-02-07 13.55.33.png

結果有這麼多,那咱們接着增長一些篩選條件:

in:description 微服務 language:python 
複製代碼

language:python的意思是咱們把語言限制爲python,咱們來看看結果如何:

屏幕快照 2020-02-07 13.58.32.png

搜索結果精確了不少。

假如在這些項目裏面,咱們想要找到最近才更新的項目,意思是更新時間就在最近,咱們能夠這樣:

in:description 微服務 language:python pushed:>2020-01-01
複製代碼

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

屏幕快照 2020-02-07 14.03.24.png

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

總結

好,咱們來總結一下。咱們想要進行精準搜索,無非就是增長篩選條件。

  1. in:name xxx // 按照項目名搜索
  2. in:readme xxx // 按照README搜索
  3. in:description xxx // 按照description搜索

那麼在這裏面呢,咱們又能夠增長篩選條件

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

以上就是咱們在GitHub上面精準搜索項目的一些小技巧,但願對你有所幫助!
另外,這是博主寫的一個 疫情查看小工具 但願能爲疫情防控貢獻一點點微薄的力量。

相關文章
相關標籤/搜索