做爲開發人員,你不得不懂的Github搜索技巧!

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

關鍵字 in 是用來限定搜索的範圍,能夠指定是在名稱、描述、readme文檔中搜索關鍵字spring

  • in:name:指定搜索範圍是倉庫名稱
  • in:description:指定搜索範圍是摘要中
  • in:readme:指定搜索範圍是readme文檔中

好比,指定項目倉庫名稱springboot、mybatis、demo三個關鍵字,那麼搜索以下:springboot

in:name springboot mybatis demo
複製代碼

結果以下:bash

這樣搜索出來的項目就是一個簡單的demo整合項目,而不是綜合項目。 你還能夠這樣搜:

in:description springboot mybatis 整合
複製代碼

二、stars 、forks

一般咱們判斷一個項目好很差,能夠經過項目的stars和fork數量來判斷,固然了,這也不是絕對的,github中還隱藏這不少不爲人所知的優秀項目,等着你挖掘哈。

方式以下:

  • stars:> :篩選stars數量大於某個值的倉庫
  • stars:start..end :篩選stars數量在start和end區間的倉庫
  • fork:>
  • fork:start..end

因此,經過stars 、forks關鍵字,咱們能夠經過stars 、forks數量來過濾一部分。好比,我要篩選搜索結果中,stars數量大於50的項目。那麼以下:

in:name springboot mybatis demo stars:>50
複製代碼

篩選以後的結果只有2個符合要求:

三、language

這個簡單,指定項目的編寫語言,如java、python、php等。好比咱們搜索單點登陸,若是咱們直接搜索in:description 單點登陸,那麼出現的結果會包含各類語言的實現項目,可是若是你加上了java語言的限定條件以後,搜索出來的結果就只有java的。

in:description 單點登陸 language:java
複製代碼

四、created、pushed

建立日期、更新日期。項目久不維護了,或者項目已經建立好久了,那麼項目的技術有時候就已通過時了,好比之前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年面試題大全(含答案)給你們:點擊領取

相關文章
相關標籤/搜索