文科妹學 GitHub 簡易教程

#什麼是 Github ?
必需要放這張圖了!!!

Git 是由 Linux 之父 Linus Tovalds 爲了更好地管理linux內核開發而創立的分佈式版本控制/軟件配置管理軟件。html

好吧,我相信看到這裏你已經暈了,這也是我一開始看那些所謂經典教程的感覺。寫這些教程的人都是幾年以上的程序員呀,他們每每直接就告訴你全部命令的含義或者整個體系。
專家盲點(expert blind spot)就是對一個事物知道的越多,就愈加不記得「不知道這個事」的情形。

簡單來講,Git 是一個管理你的「代碼的歷史記錄」的工具。
我不是程序員爲何要學這個啊啊啊!又不要管理代碼們!

別急,雖然 github 學習門檻高,一會你就知道爲何人人都應該會這個啦!

----------------------------
學習步驟

##註冊安裝
去官網註冊一個帳號(這個你應該會,恩就不放連接了)
而後,下載一個GitHub Desktop mac客戶端是最方便的啦!(命令行什麼的真的是會愈來愈暈!先別管他們!)

假設33(珊姍就是我啦)、小四和你三我的一塊兒寫一本小說(澄清一下,並無黑任何人的意思,恩!),暫且叫作...《夢裏花落愛吃土時代》
--
圖(腦補)
--
(⊙v⊙)嗯!終於能夠正式開始了!

#step1:建立新項目
咱們三我的在不一樣的城市要遠程共同寫一本書,要有一個漂亮的筆記本吧?

「repositories」就是你的筆記本們。你只需知道 Repository 是個放項目的地方就行。有時候會出現 Repositories,是多個 Repository 的意思。

**fork**
若是你不想新建一個筆記本,看到小四以前寫過一個好到炸裂的文章,想把他的直接所有偷過來,修改修改就成你本身的文章了,這應該怎麼辦呢?
github 還提供了一個很讚的功能叫作 fork ,你只須要點擊這個神奇的按鈕,就能夠把他的「筆記本」變成你本身的啦!任意修改均可以哦~


#step2:把「筆記本」克隆到本地
「筆記本」在雲端,你要把它摘下來放到本身的電腦上寫小說才方便呀,在這裏咱們叫「clone」是否是很形象?步驟如圖:
或者是直接去咱們的客戶端

#step3:能夠開始寫做啦!
你的筆記本里已經自動有一個文檔了,這個時候讓咱們回到網頁版[微笑臉]
你只須要在 web 端點開這個README.md能夠開始在裏面寫你的小說了。
或者直接點開剛剛 clone 到電腦上的文件夾直接在裏面寫。
ps:須要注意的是,文本支持 markdown 格式,能夠先參考這個獻給寫做者的 Markdown 新手指南

#step4:上傳你寫的小說
在本地寫完以後你要上傳到雲端讓我和小四都能看見你寫出什麼幺蛾子了吧?
回到客戶端,你發現有變化!!!
沒錯,在你頭像旁邊給你此次提交內容起一個名字,之後若是再次尋找的時候會很方便。而後點下面的 Commit to master,還有右上角的 Sync 就好啦!

#step5:回退到以前的版本
夜深人靜的時候,我趁着大家都在睡覺把小說的結局偷偷地改爲女主死掉了!
你醒來以爲我這結局改的也太悲傷了,徹底不能接受!結局必需要和以前那樣王子公主幸福的生活在一塊兒的 happy ending!
問題又來了,怎麼退回到我修改結局以前的 happy ending?

仍是剛剛那個客戶端,選擇History 而後點擊小齒輪,選擇瀟灑地點 roll back to this commit!
你又回到happy ending的狀態啦!!

#step6:
小四寫了一章華麗無比的番外,你要更新本地的小說和他寫的保持一致怎麼辦?
git pull

-----------
好了,知道這些基本操做入門應該夠了,咱們來回顧一下(不要嫌棄個人畫工啊喂!)

入門初期迅速獲得一些正反饋對於學習一門新技能來講實在是過重要了!尤爲是編程這麼炫酷的事情!
因此先不要管什麼複雜的 issue 呀 wiki 呀亂七八糟的操做,按照上面的一步一步來,若是遇到什麼問題 google 之,通常都會解決的。

有一個段子不就是說,當你遇到問題去找最高級的工程師,他們通常都會直接 google 嗎?並且自帶的幫助手冊也是解決問題的好辦法,好比你要新建一個 branch=》Create a new branch with git and manage branches · Kunena/Kunena-Forum Wiki · GitHub

這種遇到問題先本身嘗試解決的小技巧,也是我自從學編程以來最大的收穫。

------------------------

#除了寫代碼你還能夠用 github 作什麼?

回到文章開頭,我又不是程序猿不用寫代碼玩這個幹啥?

你有沒有碰到過團隊裏幾我的共同協做寫一個文檔的時候?或者說須要反覆修改的東西?好比最簡單的寫論文,用 word 保存一個一個版本 e-mail 給 boss?下次再找上次修改了什麼地方簡直要死啊有木有!!!

相信你看了個人遠程協做寫小說的例子應該已經明白了, github 說白了就是一個「版本控制工具」。咱們所謂的「回退」到歷史記錄,隨時查看更改了什麼地方,利用這個功能能夠作的事情簡直太多啦!

就像 github 其中一位創始人[Chris](defunkt (Chris Wanstrath) · GitHub)也詳細描述了[GitHub初創的來龍去脈](Startup Riot 2009 Keynote 路 GitHub),他說道:

Do whatever you want.linux

因此不是程序猿能夠用這個來作什麼呢?
一、寫書
和 33 一塊兒寫小說的例子,還記得吧?幾我的你一章我一章共同修改一本書,或是幾個出版社的編輯對新書進行校對,利用這個神器就能夠隨時看到哪裏出現了問題和更改。若是想本身寫書的話 gitbook 也是不錯的選擇(又是一個坑。。)

二、寫文檔神器
身爲科研狗、產品狗、射雞溼的你,是否是常常寫文檔?一個成熟的文檔可能會有好幾個版本,須要不斷地迭代,而後不斷提交給老闆看哪裏須要修改。在不一樣版本間自如切換就要用到git branch和git rebase了。
想一想看,用 git 的分支管理不比拷貝粘貼更方便嗎?

三、健身
有個哥們爲了激勵本身健身把每日計劃都放上去了,還能夠邀請其餘人一塊兒來相互監督!(我纔不會說我本身也開了一個呢哈哈哈)
hoosin/EveryDaySport · GitHub

四、找男票
沒錯,看這個項目!利用衆包的形式一塊兒羅列男朋友條件的 list 而後試圖本身開發出一個男票233333
YixuanFranco/YourBoyfriend · GitHub
有人評論問我用這個找到男票了嗎?
統一回復:
並!沒!有!

五、用GitHub搭建博客、我的網站或者公司官網

一個有本身域名的獨立博客,是否是很帥?!git

GitHub自己提供免費的託管服務,又提供了貼心的 Pages 功能,能夠綁定你本身的域名,免費、高效、不限流量,作一個我的頁面綽綽有餘。程序員

Jekyll 的教程和我本身的博客會稍後放出。。(先給本身挖個坑)github


六、用GitHub協做翻譯web

蘋果官方發佈的各類官方手冊,好比最近開源的 Swift numbbbbb/the-swift-programming-language-in-chinese · GitHub 就是國內一個自發組織起來的團隊,30多我的用9天時間即將翻譯和校對工做所有完成,他們每人都還有本身的事情,上班、上線、創業,這麼大的工做量在以往簡直是不可能完成的任務!編程


七、項目管理swift

GitHub最初是爲了開發的管理而生,固然也就具有了項目管理的潛質,特別是與開發密切聯繫的項目中,它的優點盡顯。好比這篇文章介紹瞭如何使用GitHub結合 Trello 等其它工具進行項目管理:使用GitHub進行團隊合做。固然,GitHub仍是很偏重開發的管理,通常的項目管理仍是適合使用 wortile 之類的產品。markdown


七、政府文件?
以前看到一個知乎回答說:日本政府把憲法放上去了,德國政府也作過相似的事:German Federal Law Now on GitHub。除了德日以外,英美在 GitHub 上也有不少公衆服務:英國政府多達 10 頁的項目目錄:Government Digital Service · GitHub 其中不少是政府項目的源代碼或者設計原則之類。芝加哥的公開地理信息:Forking your CityNew York Open City: City of New York 路
(原諒我找不到這個回答了,歡迎補充)

八、科研項目及數據
較早的arXivPLoS以外,較有氣象的能夠推薦mendeley開放期刊目錄
教育方面:
  • OpenStudy:一個社會性學習網絡,經過互助來更好地學習,主題涉及到計算機、數學、寫做等。
  • openhatch: 經過練習、任務等幫助新手更好地進入開源社區
九、我的簡歷

GitHub上的代碼沒法造假,也容易經過你關注的項目來了解你的知識面的寬度與深度。如今愈來愈多知名公司活躍在GitHub,發佈開源庫並招募各種人才,例如:FacebookTwitterYahoo ...網絡

開始有了第三方網站提供基於GitHub的人才招聘服務,例如:

  • GitHire:經過它,能夠找出你所在地區的程序員。
  • Gitalytics.com:經過它,能評估某位程序員在GitHub、LinkedIn、StackOverflow、hackernews等多個網站的影響力。
甚至專門有一個項目就是自動根據你的 GtiHub 公開項目建立我的簡歷:
咱們可使用 Git 以及 GitHub 作哪些事情? - Kane Blueriver 的回答

十、設計資源庫(重點來了!!!)
作 ppt 不知道到哪裏去找高質量美圖?
最近半年初入設計圈,收集了很多 bookmark 想在年末來一個總結。 因而本身建立了這個Design- Resource List 項目,旨在讓更多的設計師找資源變得有章可循。

先更新一部分,大概還有200多個還沒放過來。。(吐血) 因此,歡迎你們也推薦本身收藏的資源,加入這個項目並一塊兒持續更新麼麼噠 :)
timmy3131/design-resource · GitHub

十一、Explore · GitHub 更多好玩的內容等你本身發現哦
你在 GitHub 上看到過的最有意思的項目是什麼? - 調查類問題

-------------------------------------
#更多高階教程:
若是你已經不知足於上面的基礎知識了,歡迎探索更高級的玩法!
一、GitCafe / Help
二、[git簡明指南](git - the simple guide)牆裂推薦!漫畫的形式很形象(恩我認可比我畫的好看多了)

三、在線交互學習 github 的網站Learn Git Branching 這個也很好玩~

四、[GitHub自身的官方博客](The GitHub Blog · GitHub)

五、git-flow 備忘清單

入門書籍推薦:
GitHub入門與實踐 (豆瓣)比較基礎
Pro Git (豆瓣) 更高級的教程,很全面!

對了對了,還有陽志平老師的兩篇很是全面的舊文
如何高效利用GitHub
Git與Github入門資料

鼓勵做者寫出更好的文章

相關文章
相關標籤/搜索