申金鑫? 17101223365
轉(zhuǎn)載自stormzhang 原創(chuàng)文章
【嵌牛導(dǎo)讀】:本文介紹了程序員必備技能GitHub元潘,從0開始,適合新手學(xué)習(xí)
【嵌牛鼻子】:GitHub?
【嵌牛提問】:新手該如何去學(xué)習(xí)使用GitHub
【嵌牛正文】:
1. 寫在前面
我一直認(rèn)為 GitHub 是程序員必備技能,程序員應(yīng)該沒有不知道 GitHub 的才對灰瞻,沒想到這兩天留言里給我留言最多的就是想讓我寫關(guān)于 GitHub 的教程,說看了不少資料還是一頭霧水,我轉(zhuǎn)念一想期虾,我當(dāng)初接觸 GitHub 也大概工作了一年多才開始學(xué)習(xí)使用,我讀者里很多是初學(xué)者驯嘱,而且還有很多是在校大學(xué)生镶苞,所以不會用 GitHub 也就不奇怪了,所以我覺得寫一寫關(guān)于 GitHub 的教程就非常有必要了鞠评!
2. 為什么還要造輪子
很多人難免要問這個問題茂蚓,說網(wǎng)上關(guān)于 GitHub 的資料很多,為什么還要寫呢谢澈?講真煌贴,網(wǎng)上關(guān)于 Android 的資料更多,為什么你們還喜歡看我寫的文章呢锥忿?是因?yàn)槟呐峦瑯拥膬?nèi)容牛郑,我寫出來之后就有了我的風(fēng)格,除了我的幽默以及我的帥敬鬓,關(guān)鍵的是我有辦法讓你們看的輕松易懂淹朋,并且還有我個人的一些見解與指導(dǎo),這大概是一種特殊的魅力吧钉答!
我是從小白一路過來的础芍,很能理解你們內(nèi)心的感受與困惑,因?yàn)檫@些階段都是我自己親身經(jīng)歷過的数尿,所以我寫的文章都會從你們的角度去出發(fā)仑性,并且我對文章高要求,除了排版右蹦、配圖很用心外诊杆,文章的內(nèi)容每次寫完我都會親自看三四遍歼捐,確保不會出現(xiàn)誤導(dǎo)以及你們理解不了的情況,你們看的很輕松易懂的文章其實(shí)因?yàn)槲冶澈笞隽撕芏嗟墓φn晨汹。
所以豹储,為了你們,我覺得有必要用我的風(fēng)格去教你們?nèi)绾螐?開始淘这,跟著我一步步學(xué)習(xí) GitHub 剥扣!
3. 什么是 GitHub
確切的說 GitHub 是一家公司,位于舊金山铝穷,由 Chris Wanstrath, PJ Hyett 與 Tom Preston-Werner 三位開發(fā)者在2008年4月創(chuàng)辦钠怯。這是它的 Logo:
2008年4月10日,GitHub正式成立氧骤,地址:How people build software · GitHub 呻疹,主要提供基于git的版本托管服務(wù)。一經(jīng)上線筹陵,它的發(fā)展速度驚為天人刽锤,截止目前,GitHub 已經(jīng)發(fā)展成全球最大的開源社區(qū)朦佩。
4. GitHub 與 Git 的關(guān)系
這個我還專門在群里調(diào)查過并思,很多人以為 GitHub 就是 Git,其實(shí)這是一個理解誤區(qū)语稠。
Git 是一款免費(fèi)宋彼、開源的分布式版本控制系統(tǒng),他是著名的 Linux 發(fā)明者 Linus Torvalds 開發(fā)的仙畦。說到版本控制系統(tǒng)输涕,估計(jì)很多人都用過 SVN ,只不過 Git 是新時代的產(chǎn)物慨畸,如果你還在用 SVN 來管理你的代碼莱坎,那就真的有些落伍了。不管是學(xué)習(xí) GitHub 寸士,還是以后想從事編程行業(yè)檐什,Git 都可以算是必備技能了,所以從現(xiàn)在開始建議你先去學(xué)習(xí)熟悉下 Git 弱卡,后面我會有文章推薦一些適合新手的 Git 學(xué)習(xí)資料給你們乃正。
而 GitHub 上面說了,主要提供基于 git 的版本托管服務(wù)婶博。也就是說現(xiàn)在 GitHub 上托管的所有項(xiàng)目代碼都是基于 Git 來進(jìn)行版本控制的瓮具,所以 Git 只是 GitHub 上用來管理項(xiàng)目的一個工具而已,GitHub 的功能可遠(yuǎn)不止于此!
5. GitHub 的影響力
上面我說了 GitHub 現(xiàn)在毫無疑問基本是全球最大的開源社區(qū)了搭综,這樣說你們可能認(rèn)為未免有點(diǎn)浮夸垢箕,且聽我一一舉證:
全球頂級科技公司紛紛加入 GitHub 划栓,并貢獻(xiàn)他們自己的項(xiàng)目代碼
Google: https://github.com/google
蘋果: https://github.com/apple
Facebook: https://github.com/facebook
Twitter:https://github.com/twitter
微軟:https://github.com/microsoft
Square:https://github.com/square
阿里:https://github.com/alibaba
…
全球頂級開源項(xiàng)目都優(yōu)先選擇在 GitHub 上開源
Linux:https://github.com/torvalds/linux
Rails:https://github.com/rails/rails
Nodejs:https://github.com/nodejs/node
Swift:https://github.com/apple/swift
CoffeeScript:https://github.com/jashkenas/coffeescript
Ruby:https://github.com/ruby/ruby
…
全球頂級編程大牛加入GitHub
Linux 發(fā)明者 Linus Torvalds:https://github.com/torvalds
Rails 創(chuàng)始人 DHH:https://github.com/dhh
被稱為「Android之神」的 JakeWharton:https://github.com/JakeWharton 兑巾, 你們用的很多開源庫如 ButterKnife、OkHttp忠荞、 Retrofit蒋歌、 Picasso、ViewPagerIndicator 等都是出自他之手委煤!
其他就不一一列舉了堂油,GitHub 上活躍的很多是 Google 、Square碧绞、阿里等公司的員工巫员,有些甚至還是Google Android Team組的桐腌,所以在這里你可以接觸到全球頂級編程大牛!
6. GitHub 有什么用
學(xué)習(xí)優(yōu)秀的開源項(xiàng)目
開源社區(qū)一直有一句流行的話叫「不要重復(fù)發(fā)明輪子」,某種意義上正是因?yàn)殚_源社區(qū)的貢獻(xiàn)膳灶,我們的軟件開發(fā)才能變得越來越容易,越來越快速悯搔。試想你在做項(xiàng)目時灾常,如果每一模塊都要自己去寫,如網(wǎng)絡(luò)庫发魄、圖片加載庫盹牧、ORM庫等等,自己寫的好不好是一回事励幼,時間與資源是很大的成本汰寓。對于大公司可能會有人力與資源去發(fā)明一套自己的輪子,但是對于大部分互聯(lián)網(wǎng)創(chuàng)業(yè)公司來說時間就是一切苹粟。而且你在使用開源項(xiàng)目的過程也可以學(xué)習(xí)他們優(yōu)秀的設(shè)計(jì)思想有滑、實(shí)現(xiàn)方式,這是最好的學(xué)習(xí)資料六水,也是一份提升自己能力的絕佳方式俺孙!
多人協(xié)作
如果你想發(fā)起一個項(xiàng)目,比如翻譯一份不錯的英文文檔掷贾,覺得一個人的精力不夠睛榄,所以你需要更多的人參與進(jìn)來,這時候 GitHub 是你的最佳選擇想帅,感興趣的人可以參與進(jìn)來场靴,利用業(yè)余時間對這個項(xiàng)目做貢獻(xiàn),然后可以互相審核、合并旨剥,簡直不要太棒咧欣!
搭建博客、個人網(wǎng)站或者公司官網(wǎng)
這個就不用多說了轨帜,現(xiàn)在越來越多的博客都是基于 GitHub Pages 來搭建的了魄咕,你可以隨心所欲的定制自己的樣式,可以給你博客買個逼格高的域名蚌父,再也不用忍受各大博客網(wǎng)站的約束與各式各樣的廣告了哮兰!
寫作
如果你喜歡寫作,而且基于 Markdown苟弛, 并準(zhǔn)備出版書籍喝滞,那么推薦你用 Gitbook ,技術(shù)寫作人的最愛膏秫!
個人簡歷
如果你有一個活躍的 GitHub 賬號右遭,上面有自己不錯的開源項(xiàng)目,還經(jīng)常給別的開源項(xiàng)目提問題缤削,push 代碼窘哈,那么你找工作將是一個非常大的優(yōu)勢,現(xiàn)在程序員的招聘很多公司都很看中你 GitHub 賬號僻他,某種意義上 GitHub 就可以算是你的簡歷了宵距。而且不僅國內(nèi),很多國外的科技公司都會通過 GitHub 來尋找優(yōu)秀的人才吨拗,比如我甚至通過 GitHub 收到過 Facebook 的邀請郵件满哪!
其他
當(dāng)然 GitHub 能做的還遠(yuǎn)不止這些,我見過很多在 GitHub 搞的一些有意思的項(xiàng)目劝篷,有找男朋友的哨鸭,甚至還有利用 GitHub 的 commit 喪心病狂的秀恩愛的,沒錯娇妓,那個喪心病狂的人就是我像鸡,如果你前段日子關(guān)注了我的 GitHub ,那么能看到這么一個壯觀的景象:
7. 加入 GitHub
讀完我的文章哈恰,我相信你已經(jīng)蠢蠢欲動了只估,從現(xiàn)在開始,立刻着绷、馬上去注冊個 GitHub 「https://github.com/」蛔钙,去體驗(yàn)一番,不會用不要緊荠医,接下來我會有一系列詳細(xì)的文章吁脱,來教你學(xué)會使用 GitHub 桑涎!
但是為了保證文章的質(zhì)量,我要做很多準(zhǔn)備工作兼贡,我沒法保證每天都會連載攻冷,但是我會盡力盡快更新這個系列,讓你們從0開始一步步一起來學(xué)習(xí)遍希,如果周圍有同學(xué)或者朋友想要學(xué)習(xí)的等曼,那趕緊轉(zhuǎn)發(fā)或者推薦他關(guān)注這個系列的文章,畢竟有個小伙伴一起學(xué)會更有氛圍孵班,后續(xù)除了理論我還會考慮結(jié)合實(shí)踐涉兽,我不信你學(xué)不會!