GitHub各位應該都很熟悉了,全球最大的開源社區,也是全球最大的同性交友網站~~,但是大部分同學使用GitHub應該就是通過別人的開源鏈接,點進去下載對應的項目,而真正使用Github來查找開源項目的還是少數。
面試總得有幾個和所求崗位相關的項目,如果應屆生、轉行的童鞋沒有項目,就靠簡單的javaSE或者其他語言基礎那只能說“你太難了”。
通過 Github ,你可以很方便的下載自己需要的項目,了解實時熱點的項目,通過對優秀的開源項目的學習,更好的進行學習與提高
那么如何使用Github高效率的查找項目呢?這篇文章帶你了解一下
倉庫分幾種?
本地倉庫:建立在本地的文件夾。
遠程倉庫:建立在互聯網的服務器內的文件夾。
分布式版本控制系統
配有兩個倉庫,在你的電腦上有一個 本地倉庫 ,在遠程的服務器上有一個 遠程倉庫 。
我們在提交文件的時候會先提交到本地倉庫,然后在有網絡的情況下,再從本地倉庫提交到網絡上的遠程倉庫。
Git 就是一個典型的分布式版本控制系統
Github就擔任了上述的遠程倉庫這一角色,就是一個存放在外網服務器上的一個文件夾。并且Github是免費的開源的托管平臺
什么是Git
Git (讀音為/g?t/)是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。
GitHub是一個面向開源及私有軟件項目的托管平臺,因為只支持git 作為唯一的版本庫格式進行托管,故名GitHub。
Github常用詞含義
watch:會持續收到項目的動態
fork:復制某個項目到自己的倉庫
star:點贊數,表示對該項目表示認可,點贊數越多的項目一般越火
clone:將項目下載到本地
follow:關注你感興趣的作者,會收到他們的動態
一個完整的項目界面
① 此處是項目作者名/項目名
② 此處是項目的點贊數,和fock數,越火的項目點贊和fock就會越多
③ 項目的Description 和Website 和tags 也就是項目的說明和標簽, 通過此處你可以一眼了解該項目的功能和簡介
④ 項目的commits提交數 ,一般比較好的項目,維護會比較頻繁,更新也會頻繁,提交數就會多
⑤項目提交時間, 通過這里你可以看到項目的提交時間,防止自己下載了一些遠古項目
⑥README.md README.md文件是一個項目的入門手冊,里面介紹了整個項目的使用、功能等等。所以README文件寫得好不好,關系到這個項目能不能更容易的被其他人了解和使用。
使用Github搜索項目
一般人用Github的步驟 直接搜索,選擇一下Languages 設置下項目排序順序 就直接下載
然后就是克隆倉庫,閱讀md,看項目源代碼,看不懂,關閉項目,刪除。
這樣是很難找到真正適合自己的項目的,
GitHub里面有很多有價值的開源項目和代碼,如何在海量的代碼庫中搜索我們需要的信息,那么接下來將帶你了解下如何利用GitHub強大的搜索功能,來找到適合自己的項目
GitHub的高級搜索
GitHub有高級搜索功能,search/advanced可以輸入關鍵字、代碼庫大小、包含作者、代碼語、代碼包含后綴文件名等。
這里我們假設正要學習 Spring Boot,要找一個 Spring Boot的 Demo 來進行參考學習。
精準搜索倉庫標題、倉庫描述、README
in關鍵詞限制搜索范圍
按照項目名/倉庫名搜索(大小寫不敏感)
(1)公式
in:name xxx項目名包含xxx
in:description xxx項目描述包含xxx
in:readme xxx項目介紹文檔里含有xxx
比如我搜索項目名里含有 Spring Boot 的in:name Spring Boot
會發現項目數量由17W變成了11W
搜索項目描述里含有 Spring Boot 的in:description Spring Boot
stars或fork數量去查找
一個項目 star 數的多少,一般代表該項目的受歡迎程度 越受歡迎的項目,star數和fork數一定也不會少
(1)公式
stars:>xxx stars數大于xxx
stars:xx..xx stars數在xx…xx之間
forks:>xxx forks數大于xxx
forks:xx..xx forks數在xx…xx之間
查找star數大于等于5000的springboot項目 springbootstars:>=5000 查找fork數大于500的springcloud項目 springcloudforks:>500 查找fork在100到200之間并且stars數在80到100之間的springboot項目 springbootforks:100..200stars:80..100
我們進一步縮小范圍,Star數量過濾,要求Star數量大于3000
in:namespringbootstarts:>3000
可以看到只有一千多個項目供我們選擇了
按照地區和語言進行搜索
很多時候我們的項目是要用我們會的語言,你找到了一個Python寫的好項目,但是沒學過Python,下載了也看不懂,同時,為了更好的閱讀README.md幫助文檔以及項目注釋,我想很多同學都會想要下載中文的項目,當然英語頂呱呱的請忽略
(1)公式
location:地區
language:語言
語言為javaScript language:javaScript 地區為china location:China
如果你要尋找使用 javascript 語言的國產項目,整個搜索條件就是:language:javascript location:china,從搜索結果來看,我們找到了五百多萬javascript 項目,近 21000 多名地區信息填寫為 China 的 javascript 開發者,
根據倉庫大小搜索
如果你只是想找一些小型的項目進行個人學習和開發,不想找特別復雜的,那么使用size關鍵字查找簡單的 Demo,就成了你的首選
(1)公式
size:>= 數字
注意:100代表100Kb 單位為Kb
根據倉庫是否在更新的搜索
尋找項目當然是想要找到最新的項目,而不是好久都沒有更新的老項目了,
(1)公式
pushed:> YYYY-MM-DD最后上傳日期大于YYYY-MM-DD
created:> YYYY-MM-DD創建日期大于YYYY-MM-DD
比如我們想要尋找2020年最新更新的項目,可以用pushed:>2020-01-03 Spring Boot,這樣子就可以找到今年一月份之后更新的最新項目
根據某個人或組織進行搜索
如果你想在GitHub 上找一下某個大神是不是提交了新的項目,可以對他們進行精準搜索
(1)公式
user: name查找某個用戶
org: name查找某個組織
followers:>=xxx查找關注者數量超過xxx的開發者
比方說我們想要找一下廖雪峰老師的python開源項目
user:MichaelLiaolanguage:python
根據倉庫的LICENSE搜索
License是很多人容易忽略的一個問題
開源項目的License(項目授權協議) 有的開源項目作者明確禁止商用了,但是你不知情下載了,并且使用了,這就會很麻煩,“非常友好”的協議,比較出名的有這幾種:BSD、MPL(Mozilla)、Apache、MIT。這些協議不但允許項目的使用者使用開源庫,有些還允許對開源庫進行修改并重新分發。因此用起來特別爽。上述這幾個協議在細節上有些小差異,大伙兒可以去它們官網瞧一下。
以下這個網站,詳細介紹了各個License的區別。
http://choosealicense.com/licenses/
(1)公式
-license:對應協議
例如咱們要找協議是最為寬松的 Apache License 2 的代碼,
license:apache-2.0SpringBoot
awesome加強搜索
Awesome 似乎已經成為不少 GitHub 項目喜愛的命名之一,Awesome 往往整合了大量的同一領域的資料,讓大家可以更好的學習。
(1)公式
awesome 關鍵字 awesome 系列一般是用來收集學習、工具、書籍類相關的項目
比如搜索優秀的python相關的項目,包括框架、教程等
awesome-python,這個庫提供了各個領域常見的python庫支持。整體看下來,幾乎涵蓋了所有的常見的計算機領域,
熱門搜索(GitHub Trend 和 GitHub Topic)
GitHub Trend 頁面總結了每天/每周/每月周期的熱門 Repositories 和 Developers,你可以看到在某個周期處于熱門狀態的開發項目和開發者
GitHub Topic 展示了最新和最流行的討論主題,在這里你不僅能夠看到開發項目,還能看到更多非開發技術的討論主題,
審核編輯:湯梓紅
-
控制系統
+關注
關注
41文章
6618瀏覽量
110605 -
JAVA
+關注
關注
19文章
2967瀏覽量
104749 -
開源
+關注
關注
3文章
3348瀏覽量
42496 -
GitHub
+關注
關注
3文章
471瀏覽量
16442
原文標題:這才是 玩轉Github 的正確姿勢
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論