歡迎訪問我的GitHub
https://github.com/zq2599/blog_demos
內容:所有原創文章分類彙總及配套原始碼,涉及Java、Docker、Kubernetes、DevOPS等;
關於搜尋
- 對自己而言,這是篇遲來的重要的筆記,github是寶庫,搜尋方法不當可能與珍貴的程式碼擦肩而過,於是將常用搜索方法分類總結以備不時之需;
- 個人常用搜索方法總的來說分為作者和內容兩種,按照自己的習慣做了簡單分類,如下圖:
- 雖然搜尋更常用,但是本著先易後難的原則,先從作者搜尋開始;
作者搜尋
- 如下圖紅框,github帳號可以設定自己的fullname,我們可以通過這個欄位精確搜尋到個人:
- 在網頁左上角輸入fullname:程式設計師欣宸就可以搜尋到這個作者,如下圖:
- 很多github帳號會設定自己的地址,如下圖紅框,這些也可以作為找人的條件:
- 例如搜尋tom,會有很多同名的:
- 如果咱們知道要找的tom在深圳,就可以大幅度縮小搜尋範圍,關鍵字是fullname:tom location:shenzhen,只有22個結果:
- 以上就是搜尋使用者的操作,接下來是更常用的內容搜素;
內容搜尋概覽
- 搜尋內容時的引數略多,按照使用習慣,我這簡單分為三類:
- 精確:格式是language:完整關鍵詞,如language:java
- 模糊:類似字串的模糊匹配,格式是in:條件名 關鍵詞,如in:name spring-boot
- 範圍:和量化範圍有關的,格式是條件名:>數量,常和其他條件一起使用,如in:name spring-boot stars:>10000
- 接下來細說上述三類搜尋;
精確
- 最常用的精確搜尋就是指定語言型別了,先看不指定語言型別時,搜尋斷點續傳的結果如下圖,各種語言都有:
- 如果只要java語言的,用斷點續傳 language:java去搜,結果如下圖:
模糊
模糊是鎖定內容的關鍵,常用的有三種條件:name(專案名稱)、description(專案描述)、readme(倉庫中的READ.md檔案)
通過專案名稱搜尋,如名稱中有spring和boot兩個關鍵詞的專案,搜尋條件是in:name spring boot
- 通過專案描述搜尋,這個是我自己用的最多的方式,例如我想找到現成的斷點續傳程式碼,java版的,搜尋條件是in:description 斷點續傳 language:java
- 通過倉庫中的README.md的內容搜尋也很常用,這裡面通常會有詳細的文件資訊,例如我想grpc的server端程式碼,java版,搜尋條件是in:readme grpc server language:java
- 例如我想找kubernetes進階實戰相關的內容,搜尋條件是in:readme kubernetes進階實戰,結果如下,紅框中是欣宸自己的倉庫,裡面有關鍵字kubernetes進階實戰,查得...挺準的:
範圍
- 如果用前面手段搜尋的內容太多,還可以指定範圍,常用的型別有:stars(star數)、forks(fork數)、pushed(最後提交時間)、size(檔案大小)
- 搜尋名稱中有spring-boot且star數大於一萬的專案,in:name spring-boot stars:>10000
- 搜尋名稱中有spring-boot且fork數大於一萬的專案,in:name spring-boot forks:>10000
- 搜尋名稱中有spring-boot且2021年3月12日之後更新過的專案in:name spring-boot pushed:>2021-03-12
- 搜尋名稱中有spring-boot且內容大於100k的專案in:name spring-boot size:>100,注意這個數字的預設單位是k:
排序
- 搜尋出結果後,還可以對結果排序進行調整,操作位置如下圖紅框:
把上圖紅框中的每個排序型別列出來:
名稱 | 意義 |
---|---|
Best match | 關鍵詞匹配程度 |
Most stars | 最多star |
Fewest stars | 最少star |
Most forks | 最多fork |
Fewest forks | 最少fork |
Recently updated | 最近更新 |
Least recently updateed | 更新時間距今最久遠 |
- 以上就是我的github搜尋技巧小結了,希望能給您一些參考,更高效的發掘github寶藏;
你不孤單,欣宸原創一路相伴
歡迎關注公眾號:程式設計師欣宸
微信搜尋「程式設計師欣宸」,我是欣宸,期待與您一同暢遊Java世界...
https://github.com/zq2599/blog_demos