github做爲全球最大的開源軟件項目託管平臺,相信不少程序員都在使用,不只僅是由於它能夠免費的做爲咱們公有或者私有的代碼倉庫,更由於github上面有大量的開源學習項目或資源,秉着開源自由的理念,吸引了大量的我的或者企業開發者。php
那麼面對如此海量的代碼倉庫,如何才能在衆多的資源中搜索出更優秀,更符合本身需求的項目呢?java
好比我想搜索一個springboot項目,你是否就直接輸入springboot關鍵字直接搜索,可是搜索出了118,085個結果,固然了,你還能夠作一些簡單的排序,好比經過stars、forks的數量。python
搜索中若是你發現github網頁加載很慢,或者圖片打不開,請打開hosts文件(C:\Windows\System32\drivers\etc),加上如下內容:git
192.30.253.113 github.com
151.101.113.194 github.global.ssl.fastly.net
151.101.184.133 assets-cdn.github.com
151.101.184.133 raw.githubusercontent.com
151.101.184.133 gist.githubusercontent.com
151.101.184.133 cloud.githubusercontent.com
151.101.184.133 camo.githubusercontent.com
151.101.184.133 avatars0.githubusercontent.com
151.101.184.133 avatars1.githubusercontent.com
151.101.184.133 avatars2.githubusercontent.com
151.101.184.133 avatars3.githubusercontent.com
151.101.184.133 avatars4.githubusercontent.com
151.101.184.133 avatars5.githubusercontent.com
151.101.184.133 avatars6.githubusercontent.com
151.101.184.133 avatars7.githubusercontent.com
151.101.184.133 avatars8.githubusercontent.com
複製代碼
但這樣搜索出來的結果然的精確嗎?接下來,咱們來演示一下幾個咱們經常使用的github搜索技巧,讓搜索出來的結果更加精確、符合要求!程序員
首先咱們來看一張思惟導圖:github
上面的搜索技巧,我分爲了2類,一類經常使用和更多,經常使用的部分應該是咱們平常使用頻率最高的,須要咱們記住。面試
關鍵字 in 是用來限定搜索的範圍,能夠指定是在名稱、描述、readme文檔中搜索關鍵字spring
好比,指定項目倉庫名稱springboot、mybatis、demo三個關鍵字,那麼搜索以下:springboot
in:name springboot mybatis demo
複製代碼
結果以下:bash
這樣搜索出來的項目就是一個簡單的demo整合項目,而不是綜合項目。 你還能夠這樣搜:
in:description springboot mybatis 整合
複製代碼
一般咱們判斷一個項目好很差,能夠經過項目的stars和fork數量來判斷,固然了,這也不是絕對的,github中還隱藏這不少不爲人所知的優秀項目,等着你挖掘哈。
方式以下:
因此,經過stars 、forks關鍵字,咱們能夠經過stars 、forks數量來過濾一部分。好比,我要篩選搜索結果中,stars數量大於50的項目。那麼以下:
in:name springboot mybatis demo stars:>50
複製代碼
篩選以後的結果只有2個符合要求:
這個簡單,指定項目的編寫語言,如java、python、php等。好比咱們搜索單點登陸
,若是咱們直接搜索in:description 單點登陸
,那麼出現的結果會包含各類語言的實現項目,可是若是你加上了java語言的限定條件以後,搜索出來的結果就只有java的。
in:description 單點登陸 language:java
複製代碼
建立日期、更新日期。項目久不維護了,或者項目已經建立好久了,那麼項目的技術有時候就已通過時了,好比之前Springboot的1.5版本的建立項目就不是很適合如今了,如今咱們學習的話直接上手2.0版本以上的比較好,因此找新項目,還得跟緊技術的迭代速度。
in:description 單點登陸 language:java pushed:>2019-12-01
複製代碼
一般來講,stars數量多,維護頻繁的項目都是比較優秀的開源項目。
還能夠根據協議license:
;或者項目做者user:
;或者倉庫的大小size:>=
;被關注人數followers:
,只不過你們就用得比較少。
除了使用這種特定的限定詞來篩選以外,其實github還給咱們提供了一種篩選的搜索連接。
https://github.com/search/advanced
複製代碼
其實就是界面化的搜索條件篩選框,想不起搜索關鍵詞或者單詞的時候能夠收藏這個高級搜索界面哈。
好了,今天文章先到這裏。我是呂一明,感謝持續關注個人公衆號:java思惟導圖!
最後送兩份2019年面試題大全(含答案)給你們:點擊領取