github使用-知乎的某小姐的一篇文章
鏈接:http://www.zhihu.com/question/20070065/answer/79557687
來源:知乎
著作權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)。
作為一個(gè)文科妹子,我在看過幾乎所有熱門 github 教程之后依舊一頭霧水,在近半年的摸索中終于明白啦~新年初,把自己純小白的學(xué)習(xí)經(jīng)驗(yàn)分享一下吧!
#什么是 Github ?
必須要放這張圖了!!!
<img src="https://pic4.zhimg.com/7c9d3403bf922b1663f56975869c829b_b.png" data-rawwidth="600" data-rawheight="412" class="origin_image zh-lightbox-thumb" width="600" data-original="https://pic4.zhimg.com/7c9d3403bf922b1663f56975869c829b_r.png">(圖片來源(圖片來源GitHub 是怎樣的一個(gè)存在? - Deep Reader 的回答)
Git 是由 Linux 之父 Linus Tovalds 為了更好地管理linux內(nèi)核開發(fā)而創(chuàng)立的分布式版本控制/軟件配置管理軟件。
好吧,我相信看到這里你已經(jīng)暈了,這也是我一開始看那些所謂經(jīng)典教程的感受。寫這些教程的人都是幾年以上的程序員呀,他們往往直接就告訴你所有命令的含義或者整個(gè)體系。專家盲點(diǎn)(expert blind spot)就是對(duì)一個(gè)事物知道的越多,就越發(fā)不記得“不知道這個(gè)事”的情形。
簡(jiǎn)單來說,Git 是一個(gè)管理你的「代碼的歷史記錄」的工具。
<img src="https://pic1.zhimg.com/c5325f74486d910a4068e54a152d32ac_b.jpg" data-rawwidth="214" data-rawheight="164" class="content_image" width="214">我不是程序員為什么要學(xué)這個(gè)啊啊啊!又不要管理代碼們!我不是程序員為什么要學(xué)這個(gè)啊啊啊!又不要管理代碼們!
別急,雖然 github 學(xué)習(xí)門檻高,一會(huì)你就知道為什么人人都應(yīng)該會(huì)這個(gè)啦!
----------------------------
學(xué)習(xí)步驟
##注冊(cè)安裝
去官網(wǎng)注冊(cè)一個(gè)賬號(hào)(這個(gè)你應(yīng)該會(huì),恩就不放鏈接了)
然后,下載一個(gè)GitHub Desktop mac客戶端是最方便的啦!(命令行什么的真的是會(huì)越來越暈!先別管他們!)
假設(shè)33(珊姍就是我啦)、小四和你三個(gè)人一起寫一本小說(澄清一下,并沒有黑任何人的意思,恩!),暫且叫做...《夢(mèng)里花落愛吃土?xí)r代》
--
圖(腦補(bǔ))
--
(⊙v⊙)嗯!終于可以正式開始了!
#step1:創(chuàng)建新項(xiàng)目
我們?nèi)齻€(gè)人在不同的城市要遠(yuǎn)程共同寫一本書,要有一個(gè)漂亮的筆記本吧?
<img src="https://pic3.zhimg.com/fa17ad7322545d236198a206063f378e_b.png" data-rawwidth="895" data-rawheight="334" class="origin_image zh-lightbox-thumb" width="895" data-original="https://pic3.zhimg.com/fa17ad7322545d236198a206063f378e_r.png">
「repositories」就是你的筆記本們。你只需知道 Repository 是個(gè)放項(xiàng)目的地方就行。有時(shí)候會(huì)出現(xiàn) Repositories,是多個(gè) Repository 的意思。
**fork**
如果你不想新建一個(gè)筆記本,看到小四之前寫過一個(gè)好到炸裂的文章,想把他的直接全部偷過來,修改修改就成你自己的文章了,這應(yīng)該怎么辦呢?
github 還提供了一個(gè)很贊的功能叫做 fork ,你只需要點(diǎn)擊這個(gè)神奇的按鈕,就可以把他的「筆記本」變成你自己的啦!任意修改都可以哦~
<img src="https://pic4.zhimg.com/ed6d6fdc68fb300709095e8fa829997b_b.png" data-rawwidth="808" data-rawheight="201" class="origin_image zh-lightbox-thumb" width="808" data-original="https://pic4.zhimg.com/ed6d6fdc68fb300709095e8fa829997b_r.png">
#step2:把「筆記本」克隆到本地
「筆記本」在云端,你要把它摘下來放到自己的電腦上寫小說才方便呀,在這里我們叫「clone」是不是很形象?步驟如圖:
<img src="https://pic4.zhimg.com/345025e3b5d537f52570674099110af3_b.png" data-rawwidth="838" data-rawheight="309" class="origin_image zh-lightbox-thumb" width="838" data-original="https://pic4.zhimg.com/345025e3b5d537f52570674099110af3_r.png">或者是直接去我們的客戶端或者是直接去我們的客戶端
<img src="https://pic3.zhimg.com/c310968fe62435088824d9de6dbb8be6_b.png" data-rawwidth="1112" data-rawheight="773" class="origin_image zh-lightbox-thumb" width="1112" data-original="https://pic3.zhimg.com/c310968fe62435088824d9de6dbb8be6_r.png">
#step3:可以開始寫作啦!
你的筆記本里已經(jīng)自動(dòng)有一個(gè)文檔了,這個(gè)時(shí)候讓我們回到網(wǎng)頁版[微笑臉]
你只需要在 web 端點(diǎn)開這個(gè)README.md可以開始在里面寫你的小說了。
<img src="https://pic4.zhimg.com/5cff90f3bd0c653003c4d5e400bcc637_b.png" data-rawwidth="1024" data-rawheight="335" class="origin_image zh-lightbox-thumb" width="1024" data-original="https://pic4.zhimg.com/5cff90f3bd0c653003c4d5e400bcc637_r.png">或者直接點(diǎn)開剛剛 clone 到電腦上的文件夾直接在里面寫。或者直接點(diǎn)開剛剛 clone 到電腦上的文件夾直接在里面寫。
ps:需要注意的是,文本支持 markdown 格式,可以先參考這個(gè)獻(xiàn)給寫作者的 Markdown 新手指南。
#step4:上傳你寫的小說
在本地寫完之后你要上傳到云端讓我和小四都能看見你寫出什么幺蛾子了吧?
回到客戶端,你發(fā)現(xiàn)有變化!!!
<img src="https://pic4.zhimg.com/2e2d2a0da0662f65fb969ef8005ee01f_b.png" data-rawwidth="517" data-rawheight="542" class="origin_image zh-lightbox-thumb" width="517" data-original="https://pic4.zhimg.com/2e2d2a0da0662f65fb969ef8005ee01f_r.png">沒錯(cuò),在你頭像旁邊給你這次提交內(nèi)容起一個(gè)名字,以后如果再次尋找的時(shí)候會(huì)很方便。然后點(diǎn)下面的 Commit to master,還有右上角的 Sync 就好啦!沒錯(cuò),在你頭像旁邊給你這次提交內(nèi)容起一個(gè)名字,以后如果再次尋找的時(shí)候會(huì)很方便。然后點(diǎn)下面的 Commit to master,還有右上角的 Sync 就好啦!
#step5:回退到之前的版本
夜深人靜的時(shí)候,我趁著你們都在睡覺把小說的結(jié)局偷偷地改成女主死掉了!
你醒來覺得我這結(jié)局改的也太悲傷了,完全不能接受!結(jié)局必須要和之前那樣王子公主幸福的生活在一起的 happy ending!
問題又來了,怎么退回到我修改結(jié)局之前的 happy ending?
還是剛剛那個(gè)客戶端,選擇History 然后點(diǎn)擊小齒輪,選擇瀟灑地點(diǎn) roll back to this commit!
你又回到happy ending的狀態(tài)啦!!
<img src="https://pic4.zhimg.com/e2b413f0492377e847af67ea77b36c93_b.png" data-rawwidth="301" data-rawheight="223" class="content_image" width="301">
#step6:
小四寫了一章華麗無比的番外,你要更新本地的小說和他寫的保持一致怎么辦?
git pull
<img src="https://pic2.zhimg.com/f5c5c0b43d1f9f7ab27267fbcc16d9fd_b.png" data-rawwidth="279" data-rawheight="354" class="content_image" width="279">
-----------
好了,知道這些基本操作入門應(yīng)該夠了,我們來回顧一下(不要嫌棄我的畫工啊喂!)
<img src="https://pic4.zhimg.com/6c22d708def21094956b76bc7df2240b_b.png" data-rawwidth="800" data-rawheight="600" class="origin_image zh-lightbox-thumb" width="800" data-original="https://pic4.zhimg.com/6c22d708def21094956b76bc7df2240b_r.png">
入門初期迅速得到一些正反饋對(duì)于學(xué)習(xí)一門新技能來說實(shí)在是太重要了!尤其是編程這么炫酷的事情!
所以先不要管什么復(fù)雜的 issue 呀 wiki 呀亂七八糟的操作,按照上面的一步一步來,如果遇到什么問題 google 之,一般都會(huì)解決的。
有一個(gè)段子不就是說,當(dāng)你遇到問題去找最高級(jí)的工程師,他們一般都會(huì)直接 google 嗎?而且自帶的幫助手冊(cè)也是解決問題的好辦法,比如你要新建一個(gè) branch=》Create a new branch with git and manage branches · Kunena/Kunena-Forum Wiki · GitHub
這種遇到問題先自己嘗試解決的小技巧,也是我自從學(xué)編程以來最大的收獲。
------------------------
#除了寫代碼你還可以用 github 做什么?
回到文章開頭,我又不是程序猿不用寫代碼玩這個(gè)干啥?
你有沒有碰到過團(tuán)隊(duì)里幾個(gè)人共同協(xié)作寫一個(gè)文檔的時(shí)候?或者說需要反復(fù)修改的東西?比如最簡(jiǎn)單的寫論文,用 word 保存一個(gè)一個(gè)版本 e-mail 給 boss?下次再找上次修改了什么地方簡(jiǎn)直要死啊有木有!!!
相信你看了我的遠(yuǎn)程協(xié)作寫小說的例子應(yīng)該已經(jīng)明白了, github 說白了就是一個(gè)「版本控制工具」。我們所謂的「回退」到歷史記錄,隨時(shí)查看更改了什么地方,利用這個(gè)功能可以做的事情簡(jiǎn)直太多啦!
就像 github 其中一位創(chuàng)始人[Chris](defunkt (Chris Wanstrath) · GitHub)也詳細(xì)描述了[GitHub初創(chuàng)的前因后果](Startup Riot 2009 Keynote 路 GitHub),他說道:
Do whatever you want.
所以不是程序猿可以用這個(gè)來做什么呢?1、寫書
和 33 一起寫小說的例子,還記得吧?幾個(gè)人你一章我一章共同修改一本書,或是幾個(gè)出版社的編輯對(duì)新書進(jìn)行校對(duì),利用這個(gè)神器就可以隨時(shí)看到哪里出現(xiàn)了問題和更改。如果想自己寫書的話 gitbook 也是不錯(cuò)的選擇(又是一個(gè)坑。。)
2、寫文檔神器
身為科研狗、產(chǎn)品狗、射雞濕的你,是不是經(jīng)常寫文檔?一個(gè)成熟的文檔可能會(huì)有好幾個(gè)版本,需要不斷地迭代,然后不斷提交給老板看哪里需要修改。在不同版本間自如切換就要用到git branch和git rebase了。
想想看,用 git 的分支管理不比拷貝粘貼更方便嗎?
3、健身
有個(gè)哥們?yōu)榱思?lì)自己健身把每日計(jì)劃都放上去了,還可以邀請(qǐng)其他人一起來相互監(jiān)督!(我才不會(huì)說我自己也開了一個(gè)呢哈哈哈)
hoosin/EveryDaySport · GitHub
4、找男票
沒錯(cuò),看這個(gè)項(xiàng)目!利用眾包的形式一起羅列男友條件的 list 然后試圖自己開發(fā)出一個(gè)男票233333
YixuanFranco/YourBoyfriend · GitHub
有人評(píng)論問我用這個(gè)找到男票了嗎?
統(tǒng)一回復(fù):
并!沒!有!
5、用GitHub搭建博客、個(gè)人網(wǎng)站或者公司官網(wǎng)
一個(gè)有自己域名的獨(dú)立博客,是不是很帥?!
GitHub本身提供免費(fèi)的托管服務(wù),又提供了貼心的 Pages 功能,可以綁定你自己的域名,免費(fèi)、高效、不限流量,做一個(gè)個(gè)人頁面綽綽有余。
Jekyll 的教程和我自己的博客會(huì)稍后放出。。(先給自己挖個(gè)坑)
6、用GitHub協(xié)作翻譯
蘋果官方發(fā)布的各種官方手冊(cè),比如最近開源的 Swift numbbbbb/the-swift-programming-language-in-chinese · GitHub 就是國(guó)內(nèi)一個(gè)自發(fā)組織起來的團(tuán)隊(duì),30多個(gè)人用9天時(shí)間即將翻譯和校對(duì)工作全部完成,他們每人都還有自己的事情,上班、上線、創(chuàng)業(yè),這么大的工作量在以往簡(jiǎn)直是不可能完成的任務(wù)!
7、項(xiàng)目管理
GitHub最初是為了開發(fā)的管理而生,當(dāng)然也就具備了項(xiàng)目管理的潛質(zhì),特別是與開發(fā)密切聯(lián)系的項(xiàng)目中,它的優(yōu)勢(shì)盡顯。比如這篇文章介紹了如何使用GitHub結(jié)合 Trello 等其它工具進(jìn)行項(xiàng)目管理:使用GitHub進(jìn)行團(tuán)隊(duì)合作。當(dāng)然,GitHub還是很偏重開發(fā)的管理,一般的項(xiàng)目管理還是適合使用 wortile 之類的產(chǎn)品。
7、政府文件?
之前看到一個(gè)知乎回答說:日本政府把憲法放上去了,德國(guó)政府也做過類似的事:German Federal Law Now on GitHub。除了德日之外,英美在 GitHub 上也有很多公眾服務(wù):英國(guó)政府多達(dá) 10 頁的項(xiàng)目目錄:Government Digital Service · GitHub 其中很多是政府項(xiàng)目的源代碼或者設(shè)計(jì)原則之類。芝加哥的公開地理信息:Forking your CityNew York Open City: City of New York 路
(原諒我找不到這個(gè)回答了,歡迎補(bǔ)充)
8、科研項(xiàng)目及數(shù)據(jù)
較早的arXiv、PLoS之外,較有氣象的可以推薦mendeley、開放期刊目錄
教育方面:
- OpenStudy:一個(gè)社會(huì)性學(xué)習(xí)網(wǎng)絡(luò),通過互助來更好地學(xué)習(xí),主題涉及到計(jì)算機(jī)、數(shù)學(xué)、寫作等。
- openhatch: 通過練習(xí)、任務(wù)等幫助新手更好地進(jìn)入開源社區(qū)
GitHub上的代碼無法造假,也容易通過你關(guān)注的項(xiàng)目來了解你的知識(shí)面的寬度與深度。現(xiàn)在越來越多知名公司活躍在GitHub,發(fā)布開源庫(kù)并招募各類人才,例如:Facebook、Twitter、Yahoo ...
開始有了第三方網(wǎng)站提供基于GitHub的人才招聘服務(wù),例如:
- GitHire:通過它,可以找出你所在地區(qū)的程序員。
- Gitalytics.com:通過它,能評(píng)估某位程序員在GitHub、LinkedIn、StackOverflow、hackernews等多個(gè)網(wǎng)站的影響力。
我們可以使用 Git 以及 GitHub 做哪些事情? - Kane Blueriver 的回答
10、設(shè)計(jì)資源庫(kù)(重點(diǎn)來了!!!)
做 ppt 不知道到哪里去找高質(zhì)量美圖?
最近半年初入設(shè)計(jì)圈,收集了不少 bookmark 想在年底來一個(gè)總結(jié)。 于是自己創(chuàng)建了這個(gè)Design- Resource List 項(xiàng)目,旨在讓更多的設(shè)計(jì)師找資源變得有章可循。
先更新一部分,大概還有200多個(gè)還沒放過來。。(吐血) 所以,歡迎大家也推薦自己收藏的資源,加入這個(gè)項(xiàng)目并一起持續(xù)更新么么噠 :)
timmy3131/design-resource · GitHub
11、Explore · GitHub 更多好玩的內(nèi)容等你自己發(fā)現(xiàn)哦
你在 GitHub 上看到過的最有意思的項(xiàng)目是什么? - 調(diào)查類問題
-------------------------------------
#更多高階教程:
如果你已經(jīng)不滿足于上面的基礎(chǔ)知識(shí)了,歡迎探索更高級(jí)的玩法!
1、GitCafe / Help
2、[git簡(jiǎn)明指南](git - the simple guide)墻裂推薦!漫畫的形式很形象(恩我承認(rèn)比我畫的好看多了)
3、在線交互學(xué)習(xí) github 的網(wǎng)站Learn Git Branching 這個(gè)也很好玩~
4、[GitHub自身的官方博客](The GitHub Blog · GitHub)
5、git-flow 備忘清單入門書籍推薦:
GitHub入門與實(shí)踐 (豆瓣)比較基礎(chǔ)
Pro Git (豆瓣) 更高級(jí)的教程,很全面!
對(duì)了對(duì)了,還有陽志平老師的兩篇非常全面的舊文(這么稱呼好生疏啊2333)
如何高效利用GitHub
Git與Github入門資料
轉(zhuǎn)載于:https://www.cnblogs.com/freefish12/p/5900348.html
總結(jié)
以上是生活随笔為你收集整理的github使用-知乎的某小姐的一篇文章的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 火车出站 模拟栈
- 下一篇: Struts2 入门