GitHub:全球最大的程式設計師基友社區

2021-03-02 飛雪無情

GitHub,不少做IT行業的朋友都聽說過,甚至已經是GitHub用戶了。這是一個基於Git的原始碼託管服務的平臺,它允許你使用標準的Git命令或者流程規範進行管理。GitHub平臺於2007年10月1日開始開發,第一個beta版本於2008年2月上線,4月份正式上線正式版,算起來距今已經運行了近9年。這期間GitHub又加入了star、fork、wiki、follow等社交元素,開源的推動,各大公司以及開發者的代碼的貢獻,已經成為了當前全球最大的、屬於程式設計師的程式設計師社區。

Git

這個Linux的作者,我心目中的大神Linus Torvalds又一款逆天之作,他開發Git的初衷,就是為了更方便的管理和開發Linux內核原始碼,是一款分布式的版本控制系統。它和集中式的CVS、SVN不一樣,並不一定需要一個服務端的控制軟體,就能進行版本控制,每一個Git端都是一個完整的原始碼版本控制庫,這樣軟體的發布、交流等就非常方便,而且速度極快。好吧,真是一言不合,就自己造一個,這就是大神。現在已經越來越多的開源項目和公司內部的代碼管理使用Git,Git已經成為程式設計師需要掌握的、必備的工具,如果你還不會,可以通過 https://git-scm.com/ Git網站下載和學習。

加入GitHub

要成為這個最大的程式設計師社區的一名,你必須要得有一個GitHub帳號,這樣才能加入GitHub,要註冊一個GitHub帳號非常簡單,打開https://github.com/join 按照提示一個個操作加入即可。

創建帳號後,需要設置你自己電腦上的Git,以便和GitHub開發交互管理等,具體設置參見官方幫助https://help.github.com/articles/set-up-git/.

然後就去創建自己的第一個GitHub項目吧,具體可以參考官方幫助https://help.github.com/articles/create-a-repo/,很非常詳細,看了就會了。

這些都會了後,基本上Github上就差不多了,可以逛逛,也可以看看GitHub上幫助教程,了解更多。

開源項目(Repo)

據不完全統計,GitHub上的項目已經高達760多萬個。語言分布JavaScript有95萬多個;Java73萬多個;Ruby59萬;Python47萬,可以看到JavaScript當之無愧的語言老大,這也得益於最近幾年的前端的告訴發展,JavaScript語言已經快無所不能了。

以stars(點讚)的項目分布統計:

超過1000個stars的項目有9,276個

超過2,000個stars的項目有4,194個

超過5,000個stars的項目有1,194個

超過10,000個stars的項目有346個

超過20,000個stars的項目有87個

超過50,000個stars的項目有7個

超過100,000個stars的項目有2個

可以看到越是stars越多的,會越老越少,GitHub上的stars能很好的反應一個項目(Repo)的受歡迎程度,如果大家找流行的Repo,可以使用這個標準。

我們看下stars排行超過50,000的這7個Repo都是哪幾個。

https://github.com/freeCodeCamp/freeCodeCamp 220,983 stars

https://github.com/twbs/bootstrap 105,736 stars

https://github.com/vhf/free-programming-books 75,940 stars

https://github.com/d3/d3 59,142 stars

https://github.com/facebook/react 57,668 stars

https://github.com/angular/angular.js 54,345 stars

https://github.com/sindresorhus/awesome 50,074 stars

可以看到第一名的freeCodeCamp的一騎絕塵,22萬之多的stars,這是一個開源的學習代碼和編程的非營利社區,裡面有很多免費的課程。其次是twitter推出的前端開發框架bootstrap,非常流行;然後是一個免費的編程書籍收集Repo,裡面有很多免費的電子書籍,可以點擊學習;最後值得一提的是非常流行的awesome系列,他是一個個系列合集,裡面又包含了你能想到的其他細分分類的awesome系列,比如java、android、微信小程序的等,這是一個匯總的資料項目,學習必用。

Organization

相比我們個人,在Github也有Organization(組織)的概念,這通常代表一個公司,或者一個團體、或者一個非盈利組織,它是多個人的集合,通常用於協作貢獻、交流開發、管理等。

比如著名的Organization有google、facebook等,如果你是他們的粉絲,可以關注他們,有很多驚喜項目哦。

https://github.com/google

https://github.com/facebook

https://github.com/square

https://github.com/Microsoft

https://github.com/twitter

https://github.com/apple

Showcases

Showcases,是GitHub根據你感興趣的主題,做的一個展示,這裡有VR(虛擬實境),機器學習等等主題,地址是 https://github.com/showcases,這也是我經常去的一個地方,在這裡可以根據你的興趣、你關注的主題、你公司需要等等,選擇相應的主題,然後打開他們,就可以看到GitHub為你精選的項目了,作為參考學習。比如VR這個主題 https://github.com/showcases/virtual-reality。

Trending

Trending,https://github.com/trending,GitHub上的風雲榜,在這裡你可以看到最近一天、一周、一個月哪些項目和開發者最流行,這基本上是我每天必看的,從這裡可以找到新趨勢、新技術以及新的朋友。推薦每天必看,當今日頭條新聞看,善用Trending,不要錯過遺憾

Issues

在GitHub中,開發者們之間的交互大部分都是通過issues(問題),這類似於提問題,討論。每一個項目都有,你可以針對該項目打開一個issues,提出你的問題、和貢獻者們討論等等,就和一個小論壇一樣。issues支持MarkDown語法,可以在線編輯,所以非常方便,有不開發者們用他來在GitHub上直接寫博客,教程等。想和其他貢獻者們交流,從一個issues開始吧。

Fork

這也是GitHub上的概念,意思是建立一個新的分支,比如你Fork了一個項目,就會在你的項目列表裡創建一個同名的項目,也即是一個分支(和Git的分支不同),因為是你的所以你擁有它的所有權限,可以任意修改,刪除,添加等等。

在貢獻代碼pull request之前,我們必須要先Fork,這樣你才可以有權限修改這個項目,修改完成後,再提交發起pull request就可以提交你的貢獻了。

同時Fork也是保存一個項目好辦法,因為它是一個完全複製的分支,和原來的項目沒有太大關係,所以即使原項目的代碼內容被刪除,你的還存在。

Pull requests

Pull requests,我們親切的稱為PR,這是在GitHub上代碼貢獻的流程,不管是你給別的項目貢獻代碼,還是別的人給你的項目貢獻代碼。一個完成的貢獻代碼的流程如下:

Fork別人的項目,因為你是不能直接別人的項目的。

Fork後就是自己項目了,和操作自己的項目一樣,編寫代碼等,然後提交。

提交後,發起pull request給原項目,這時候對方才能看到你貢獻的代碼。

原作者看到後,會Review你的貢獻等,如果沒有沒問題,就會接受Merge原項目中了。

這樣你的貢獻,就可以被更多的人使用到了。

如果你對一個項目有更好的想法,或者修復一個Bug等,就發起PR來貢獻吧,GitHub上偉大的項目都不是一個寫的,都是靠千千萬萬個貢獻者,這也是開源的意義所在,這也是軟體、甚至整個IT行業能這麼高速發展的原因之一。

GitHub Pages

這是一個Github提供的靜態網頁服務,讓你可以為你的開源項目創建一個介紹網站,來介紹你的項目以及使用等等。除此之外,他還有一個好的用處,就是搭建自己的個人博客,具體請參考我以前的一篇博客 http://www.flysnow.org/2015/03/10/github-page-with-hexo.html ,這是介紹我自己通過該服務,使用Hexo搭建個人博客網站的經驗。個人博客是一個平臺好的平臺,不僅可以讓你學習總結,也可以讓你認識更多的朋友,為你的簡歷加分,如果沒有,趕緊搭建一個吧。

Integrations

Integrations是GitHub推出的開放平臺服務,可以讓其他第三方利用GitHub的開放能力,構建一些開放工具或者平臺,幫助開發者更好的開發、構建自己的項目,比如我們常用的Travis CI,可以幫我們持續構建,發布我們的項目。更多關於Integrations的工具或者平臺,請到https://github.com/integrations 查找,有詳細分類,也可以篩選過濾,非常方便。

打造個人簡歷

再GitHub上,我們不僅可以學習,研究開源項目,貢獻以及討論,還可以利用GitHub為我們的簡歷加分。我在篩選簡歷的時候,尤其看中有GitHub的,作為一個程式設計師,如果連GitHub帳號都沒有,甚至都沒有聽說過,這是不可原諒的,也不是一個合格的程式設計師。

多在GitHub上活躍,研究優秀的項目,多參與討論和貢獻,利用GitHub搭建自己的博客,然後把這些作為自己經驗的一部分,寫在你的簡歷上,相信我,這會為你加很多分,讓你在應聘者中脫引而出,所以努力的把GitHub打造成自己的活簡歷吧

相關焦點

  • 全球最大同性交友網站 GitHub 10 歲了!
    最大同性交友網站 GitHub?嗯,你沒看錯~  這是 GitHub 在程式設計師圈子的另外一個名字咯~十年中的重要時刻2008 年 4 月 10 日,GitHub 結束了內測,正式上線。2018 年 4 月 10 日, GitHub 官方在本月 10 日發布了一個慶祝頁面( https://github.com/ten ),記錄了十年之間的一些重要時刻!結合維基百科英文版上 GitHub 發展介紹,「程式設計師的那些事」整理了一份關於 GitHub 的重要時刻:2008 年 2 月 8 日,GitHub 成立。
  • GitHub是什麼?一個開源的社區,為何這麼火?
    經常聽到身邊程式設計師說,新聞報導,微博熱搜GitHub到底是什麼?
  • 全球最大的交友網站,不愧是個寶藏網站 | GitHub
    提到 GitHub,許多人對它的第一印象可能還是停留在技術網站,認為這是程式設計師才需要用到的網站,離自己很遠,和自己也不會有太多的交集。程式設計師考公指南https://github.com/coder2gwy/coder2gwy網際網路行業、程式設計師群體,之前給人的印象,都是和「多金」掛鈎,但這些年網上傳開的 996ICU、加班猝死案例,讓不少人看到了多金背後的代價。
  • 全球最大編程問答社區 Stack Overflow 宣布裁員 15%!
  • 全球開發者福利,GitHub終於出App了
    今天,在全球開發者大會上,按照慣常,為了讓開發者更輕鬆地寫代碼,GitHub發布了諸多重大更新,其中包括GitHub Actions正式應用、新功能GitHub Packages進入測試階段、重新設計的通知體驗、發布GitHub移動版等。這裡面最讓人興奮的,還是這家全球最大的程式設計師社交網站終於上App了,讓開發者們可以隨時隨地寫下「靈感」。
  • 為什麼全球最大同性交友平臺Github放棄jquery?
    7月17提,GitHub改版並放棄了jQuery, 這對於GitHub來說,絕對是一件可以載入公司史冊的大事文轉載 | CSDN編輯 | Lorraine時長 | 一首歌的時間七月,『全球最大同性交友平臺
  • 楊超越杯編程大賽登上 GitHub,程式設計師為追星都開發了什麼?
    接下來,本文將為你揭曉程式設計師們追星過程中帶來了哪些技術含量極高、腦洞極大的項目?前段時間,筆者看到一則新聞,提到楊超越粉絲策劃了一場「楊超越杯編程大賽」, 題目是做任何與相關的遊戲、網頁、工具等。剛開始看到這則新聞,筆者以為又是一次博眼球的明星營銷策劃活動。後來在好(chi)奇(gua)心的驅動型下,還是去看了一下關於活動的介紹。
  • 全球最火的程式設計師學習路線!沒有之一!3天就在Github收穫了接近1w點讚
    作為程式設計師,如果你還不知道這個倉庫的話,就真的虧大發了!另外,我司的一些技術大佬給應屆生寫學習路線的時候都是參考這個倉庫來的。下圖就是這個倉庫關於前端的學習路線的中文翻譯版本。這個倉庫的一些地址:Github 地址 :https://github.com/kamranahmedse/developer-roadmap中文翻譯版本:https://github.com
  • 程式設計師上班摸魚,可以逛什麼論壇呢?
    不能少了這幾個網站呀1.Github - 匯集全世界人類智慧的代碼「基因庫」https://github.com/作為全世界最大的代碼託管平臺,Github 為程式設計師們提供了代碼管理、項目協作等許多極其方便的功能。
  • 紫光展銳加入全球最大專利保護社區OIN
    近日,全球最大的專利保護社區OIN和紫光展銳共同宣布,紫光展銳已成為OIN社區的成員之一。
  • 騰訊宣布與CSDN合作,共建中國最大開源社區
    3月30日消息 ,在全球最大的中文IT社區CSDN主辦的「開源技術大會·2014」上,騰訊社交網絡事業群副總裁陳磊、CSDN創始人兼董事長蔣濤共同宣布
  • 10 個 GitHub 上最火的程式設計師簡歷項目,2021 金三銀四必備!
    包括 PHP 程式設計師簡歷模板、iOS 程式設計師簡歷模板、Android 程式設計師簡歷模板、Web 前端程式設計師簡歷模板、Java 程式設計師簡歷模板、C/C++ 程式設計師簡歷模板、NodeJS 程式設計師簡歷模板、架構師簡歷模板以及通用程式設計師簡歷模板。
  • 全球最大的沙發客社區也扛不住了!
    2020年5月中旬,全球最大的沙發客社區如今,couchsurfing.org已經成為全球最大的沙發客網站,總部在Delaware. 以下是wiki的一些信息:在2018年,據報導用戶數已達到1600萬。
  • 全球最大的同性交友網站被收購了?!
    昨天,微軟以 75 億美元收購了世界上最大的開源社區 Github,程序猿們都炸鍋了,網上一片哀嚎。。無感?!你懂得,程式設計師裡面大部分都是程序猿而不是程序媛啊( 雖然優秀的程序媛一點也不少 )。而且,現在,Github 經過十年的發展,已經註冊有兩千七百萬個開發者。一年就有 2.9 萬億行代碼的提交量( 一年沒個上萬行代碼提交量,也好意思稱自己是程式設計師? )。。
  • 聚焦DODO的全球社區
    為了感謝對社區熱情和貢獻,我們決定採訪一些來自全球各地的 DODO 用戶,聽聽他們的故事,了解他們如何參與這個平臺,以及他們在日常生活中如何使用 DODO 的。「純粹的熱愛」泰國的用戶 Scandroid 說,他參與該生態系統完全是出於對 DODO 的熱愛。
  • 隨時隨地編程,GitHub App 終於來了!
    導讀:作為許多人眼中的全球知名的同性交友平臺,GitHub開源以及私有軟體項目託管平臺今日宣布將推出iOS版以及Android版的移動應用,方便大神們隨時隨地查看代碼
  • 別惹程式設計師,11行代碼就能讓整個社區雞飛狗跳
    在NPM,Node.js程式設計師可以分享模塊,也可以根據自己需求打包模塊,NPM就是我為人人,人人為我的開源社區,看起來一切都是那麼美好,那麼和諧。Azer就是其中的一員,沒念過大學,但靠著自學編程成為了一個高手,他的信仰就是分享和開源,並且對早期程式設計師的駭客之道深信不疑,那就是「程式設計師的友誼基礎就是分享程序」,所以他本來是NPM的熱情粉絲,經常為NPM貢獻代碼。
  • GitHub 竟然有這些騷操作,真是漲姿勢
    作為「全球最大的程式設計師「交友」社區」,程式設計師的你,真的可以把它的使用發揮到極致嗎?搜索全局搜索傻瓜式搜索比如我們要學習下秒殺(seckill)代碼的實現,可以在整個 GitHub 站點全局搜索相關內容這幾個其實也夠用了,官方還給出了所有你能想得到的搜索方式:https://help.github.com/en/github/searching-for-information-on-github
  • GitHub 又放大招!集結 VS Code 重磅推出在線編程 IDE
    受疫情的影響,全球最大的開源社區 GitHub 今年採用線上形式舉辦其技術峰會 Satellite 2020。目前 Codespaces還處於內測階段,小夥伴可以去試試申請:github.com/features/codespaces如今 Beta 版 Codespaces 是免費的,後續 GitHub 將計劃提供簡單的即付即用的收費模式。看來有了這款神器,程式設計師小夥伴們敲代碼更方便了!
  • GitHub 推出代碼掃描工具,免費 Review 查找Bug!程式設計師不用再為P0發愁了
    Github中文社區官方的目的是免費 幫開發者 Review 查找Bug,程式設計師不用再被P0發愁了。這樣我們就能早發現,早修復。這個功能有點6了,但背後也耗費了官方一年多的精力投入,早在去年 9 月,GitHub 先收購代碼分析平臺企業 Semmle,從那時開始,官方宣布將在 GitHub 的開發者代碼集成流程中引入代碼安全檢查的能力,至於何時真正發布還是未知數,而現在就是真正意義是上的代碼自動檢查了。