github實用的搜索小技巧

  • 2019 年 11 月 4 日
  • 筆記

查資源,學習優秀的框架,搜索是一種能力!

作為程式猿開發中最大的同性交友網站,github當之無愧,裡面有很多優秀的開源框架,各種技術大佬混跡其中,有他們總結的學習教程,造好的輪子(開發的各種工具,技術框架),開源的項目等,我們能夠從中借鑒學習,也可以獲取靈感,或節省時間,完成任務等等。但是我們要從如此多的內容中找到優秀的和我們需要的,需要我們使用一些搜索技巧,縮小搜索範圍,幫助我們更快搜索到相關的內容。

1、根據star,fork數篩選

例如我們在github上查找某個項目,評價其優秀與熱門最直接的參數就是看這個項目被star(類似微博點贊,在個人主頁可以查看自己點贊了哪些內容)了多少次,獲得了多少認可,被fork了多少次(當你覺得這個項目不錯時,可以fork這個項目源碼到自己倉庫中,但是在你倉庫中存在的這個項目不會同步更新)。雖然一個優秀的項目不一定是star多,有可能暫時還沒被其他人給發現,但根據這2個參數篩選卻是我們簡單有效的依據。

1, 大於等於    語法: 關鍵字 stars:>= 數量 forks:>=數量    例子: springboot stars:>=5000 //搜索springboot有關star數>=5000的內容          springboot stars:>=5000 forks:>=5000//搜索springboot 的star>=5000,且fork數>=5000的內容      可單獨搜索,也可組合搜索,中間用空格隔開,是&(且)的關係。  

如圖1所示

2,範圍查詢    語法: 關鍵字 stars:範圍1..範圍2    例子: springboot stars:4000..5000      //搜索star數在 4000到500的springboot相關內容,..相當於mysql中between and 的作用。     

如圖2所示

2、 關鍵字 in

搜索關鍵字在github上發布的位置 ,主要以下3個位置

  • name (發布的倉庫名稱)

  • description(指的是文章的摘要部分)

  • Readme (說明文檔)

    語法 :關鍵字 in:  例子 :netty in:name //查找名稱中包含netty的內容        netty in:name,description        //逗號分隔,是 || (或)的關係,指的是查詢名稱,或者描述中包含netty的內容

3、awesome + 關鍵字

一般是指的學習,書籍,工具類,插件類相關的系列的集合。可以有效節約時間,找到別人收集好的內容。

awesome 指的是了不起的,碉堡了。

github 官方解釋:  An awesome list is a list of awesome things curated by the community.  大致意思:社區組織維護的一系列非常棒的東西的集合。(差不多吧,哈哈,水平有限,Google翻譯了解一下)

例如: awesome springboot

如圖3所示

4、搜索某個語言,某個地區的大佬

例如: location:Beijing language:java 

例如: awesome springboot

如圖4所示

5、常用快捷鍵

在github上 按 ?可調出快捷鍵頁面,有些對我們還是非常有用的。

https://help.github.com/en/github/getting-started-with-github/keyboard-shortcuts

如圖5所示

  • 查看源碼利器 t

    在github 學習某個框架時,如果包的結構層級特別多,嫌一層層點進去麻煩,用 t ,該框架所有的類以列表形式平鋪展開,方便查看

  • s 鍵 (search)

    幫助快速聚焦在搜索框里,提高效率
    如圖6所示

6、 實現某行,某塊程式碼高亮

在與其他人協作開發時,溝通時在給別人指出某行,或者某塊程式碼,可以在github鏈接後面加上

1,#L23  //某行高亮  如:  https://github.com/unofficial-openjdk/openjdk/blob/jdk/jdk/test/jdk/sun/misc/GetSunMiscUnsafe.java#L36

如圖7所示

2,#L23-35  //某個程式碼塊  如:  https://github.com/unofficial-openjdk/openjdk/blob/jdk/jdk/test/jdk/sun/misc/GetSunMiscUnsafe.java#L36-L40

如圖8所示

7、user

查詢某位用戶的相關內容,比如某位大佬

語法:user:名稱    例子:user:ityouknow

趕快去嘗試一下吧,其他功能自己探索了

參考:

https://www.iteye.com/blog/robbiefeng-2169967