文科妹子告訴你怎樣使用 GitHub!

#什麼是 Github ?必須要放這張圖了!!!(圖片來源 GitHub 是怎樣的一個存在? - Deep Reader 的回答 )

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

好吧,我相信看到這裏你已經暈了,這也是我一開始看那些所謂經典教程的感受。寫這些教程的人都是幾年以上的程序員呀,他們往往直接就告訴你所有命令的含義或者整個體系。

專家盲點(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 到電腦上的文件夾直接在裏面寫。

或者直接點開剛剛 clone 到電腦上的文件夾直接在裏面寫。

ps:需要注意的是,文本支持 markdown 格式,可以先參考這個 獻給寫作者的 Markdown 新手指南 。

#step4:上傳你寫的小說

在本地寫完之後你要上傳到雲端讓我和小四都能看見你寫出什麼幺蛾子了吧?

回到客戶端,你發現有變化!!!沒錯,在你頭像旁邊給你這次提交內容起一個名字,以後如果再次尋找的時候會很方便。然後點下面的 Commit to master ,還有右上角的 Sync 就好啦!

沒錯,在你頭像旁邊給你這次提交內容起一個名字,以後如果再次尋找的時候會很方便。然後點下面的 Commit to master ,還有右上角的 Sync 就好啦!

#step5:回退到之前的版本

夜深人靜的時候,我趁着你們都在睡覺把小說的結局偷偷地改成女主死掉了!

你醒來覺得我這結局改的也太悲傷了,完全不能接受!結局必須要和之前那樣王子公主幸福的生活在一起的 happy ending!

問題又來了,怎麼退回到我修改結局之前的 happy ending?

還是剛剛那個客戶端,選擇 History 然後點擊小齒輪,選擇瀟灑地點 roll back to this commit!

你又回到happy ending的狀態啦!!

#step6:

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

git pull

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

學習Github

入門初期迅速得到一些正反饋對於學習一門新技能來說實在是太重要了!尤其是編程這麼炫酷的事情!

所以先不要管什麼複雜的 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 也詳細描述了GitHub初創的前因後果),他說道:

Do whatever you want.所以不是程序猿可以用這個來做什麼呢?

1、寫書和 33 一起寫小說的例子,還記得吧?幾個人你一章我一章共同修改一本書,或是幾個出版社的編輯對新書進行校對,利用這個神器就可以隨時看到哪裏出現了問題和更改。如果想自己寫書的話 gitbook 也是不錯的選擇(又是一個坑。。)

2、寫文檔神器身爲科研狗、產品狗、射雞溼的你,是不是經常寫文檔?一個成熟的文檔可能會有好幾個版本,需要不斷地迭代,然後不斷提交給老闆看哪裏需要修改。在不同版本間自如切換就要用到git branch和git rebase了。

想想看,用 git 的分支管理不比拷貝粘貼更方便嗎?

3、健身有個哥們爲了激勵自己健身把每日計劃都放上去了,還可以邀請其他人一起來相互監督!(我纔不會說我自己也開了一個呢哈哈哈)

hoosin/EveryDaySport · GitHub

4、找男票沒錯,看這個項目!利用衆包的形式一起羅列男友條件的 list 然後試圖自己開發出一個男票233333

YixuanFranco/YourBoyfriend · GitHub

有人評論問我用這個找到男票了嗎?

統一回復:

並!沒!有!

5、用GitHub搭建博客、個人網站或者公司官網一個有自己域名的獨立博客,是不是很帥?!GitHub本身提供免費的託管服務,又提供了貼心的 Pages 功能,可以綁定你自己的域名,免費、高效、不限流量,做一個個人頁面綽綽有餘。Jekyll 的教程和我自己的博客會稍後放出。。(先給自己挖個坑)

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

7、項目管理GitHub最初是爲了開發的管理而生,當然也就具備了項目管理的潛質,特別是與開發密切聯繫的項目中,它的優勢盡顯。比如這篇文章介紹瞭如何使用GitHub結合 Trello 等其它工具進行項目管理: 使用GitHub進行團隊合作 。當然,GitHub還是很偏重開發的管理,一般的項目管理還是適合使用 wortile 之類的產品。

7、政府文件?

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

(原諒我找不到這個回答了,歡迎補充)

8、科研項目及數據較早的 arXiv 、 PLoS 之外,較有氣象的可以推薦 mendeley 、開放期刊目錄

教育方面:

OpenStudy :一個社會性學習網絡,通過互助來更好地學習,主題涉及到計算機、數學、寫作等。 openhatch : 通過練習、任務等幫助新手更好地進入開源社區 9、個人簡歷 GitHub上的代碼無法造假,也容易通過你關注的項目來了解你的知識面的寬度與深度。現在越來越多知名公司活躍在GitHub,發佈開源庫並招募各類人才,例如:Facebook 、 Twitter 、 Yahoo …開始有了第三方網站提供基於GitHub的人才招聘服務,例如: GitHire :通過它,可以找出你所在地區的程序員。 Gitalytics.com :通過它,能評估某位程序員在GitHub、LinkedIn、StackOverflow、hackernews等多個網站的影響力。甚至專門有一個項目就是自動根據你的 GtiHub 公開項目創建個人簡歷:

我們可以使用 Git 以及 GitHub 做哪些事情? - Kane Blueriver 的回答

10、設計資源庫(重點來了!!!)做 ppt 不知道到哪裏去找高質量美圖?

最近半年初入設計圈,收集了不少 bookmark 想在年底來一個總結。 於是自己創建了這個Design- Resource List 項目,旨在讓更多的設計師找資源變得有章可循。

先更新一部分,大概還有200多個還沒放過來。。(吐血) 所以,歡迎大家也推薦自己收藏的資源,加入這個項目並一起持續更新麼麼噠 :)

timmy3131/design-resource · GitHub

11、 Explore · GitHub 更多好玩的內容等你自己發現哦

你在 GitHub 上看到過的最有意思的項目是什麼? - 調查類問題

更多高階教程

如果你已經不滿足於上面的基礎知識了,歡迎探索更高級的玩法!

1、 GitCafe / Help

2、git簡明指南)牆裂推薦!漫畫的形式很形象(恩我承認比我畫的好看多了)

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

4、 GitHub自身的官方博客 )

5、 git-flow 備忘清單

入門書籍推薦:

GitHub入門與實踐 (豆瓣) 比較基礎

Pro Git (豆瓣) 更高級的教程,很全面!

對了對了,還有陽志平老師的兩篇非常全面的舊文(這麼稱呼好生疏啊2333)

如何高效利用GitHub

Git與Github入門資料

著作權歸作者所有。收集自:知乎 * 珊姍是個小太陽

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章