和以前Python入門教程不一樣,這個系列須要有一點編程的經驗。倒不是由於它很難,只是若是沒有開發過稍大一點的項目,或者沒有和別人合做開發過,你可能沒法理解Git的用處,對其中涉及的內容也會感到不知所云。 這個系列不會每天更新,平時仍然會有一些基礎的編程知識,以及編程學習相關的文章推送。你們各取所需。剛剛入門的朋友也不用着急,循序漸進地保持本身的節奏就好,學習是件長久的事情,欲速則不達。 學習Git跟你使用的語言無關,只要你參與到程序開發中,就頗有可能接觸到Git,或者能夠用Git幫助你進行開發。所以在這一點上,你不用再糾結因而該選擇C++、Java、Python……固然,Git也有同類產品可供選擇,但對於目前的你,有足夠多的理由去學習Git,哪怕之後你再也不使用它。 說了這麼多,尚未進入今天的正題:Git究竟是個什麼東西? Git是一個版本控制系統(Version Control System)。 那什麼又是「版本控制系統」呢? 想象一下這樣的場景:你再寫一個程序,這個程序對你來講有一點「大」,不是一個晚上就能解決的。好比咱們以前的打飛機小遊戲。因而編寫的過程當中,你須要保存代碼,下次接着寫。另外,當你花了兩個晚上,完成了最基本的功能後,第三天晚上,你又想嘗試給你的遊戲增長點新功能,好比你的飛機能夠扔炸彈消滅屏幕上的全部敵人。那麼你就得在以前的代碼上作改動。 這時候,不幸的事情發生了! 你發現你改動了一些代碼以後,程序沒法正常運行了。你想算了,仍是恢復到以前那樣吧。可是代碼被改動的地方比較瑣碎,你發現把印象中全部的改動都改了回去,程序同樣沒法運行。因而你就陷入了抓狂。 即便你不是一個程序員,你也可能遭遇過相似的「悲劇」,好比誤刪了word文檔中的一段話後手賤地點了保存,以後又想把那段找回來的時候才追悔莫及。人世間的事情大多如此吧…… 因而,吃過苦頭的人會給本身留條後路,再保存文件的時候選擇「另存爲 Save As」而不是直接在原文件上保存。因而你的文件夾中就出現了諸如: report131106.doc myslide-updated.ppt loveletter_old001.txt 之類的文件。 其實這就是一種最簡陋的版本控制系統。 本人當年上學的時候,第一次接觸到版本控制這個概念時,就是用這種方式來解決的。咱們從團隊中挑選出一人(好吧,就是我)專門負責維護一臺電腦上的一個文件夾。文件夾裏分門別類地保存着項目的文檔和代碼的不一樣版本。 如今回想起來,這是怎樣一種勤勞而又愚昧的作法。你須要去當心每一個版本不要放錯了位置,天天開發完要把代碼發給專人整理,甚至在宿舍斷網的時候要用u盤去copy最新的代碼,再把最新的代碼交給須要進行修改的人…… 但其實早就沒必要如此。版本控制系統就是把你從這片苦海中拯救出來的工具。 經過版本控制系統,能夠有效地追蹤文件的變化。當代碼出錯的時候,能夠很容易地恢復到以前的狀態。對於多人協做開發的項目來講,版本控制系統更是必不可少。它保證每一個人都可以獲取最近更新的代碼,每一個人開發的代碼能夠更方便地增長到項目中,避免不一樣代碼以前產生的衝突,減少溝通成本。 其實它作的事情本質仍是在某個地方,記錄下全部文件的全部版本,只不過比在電腦上建不少文件夾的方法更合理、更便捷、更穩定。讓你能夠把精力集中在開發代碼自己,而不用關注其餘瑣碎的問題。 而Git就是時下最流行的版本控制系統。 關於Git有哪些具體的功能和特性,在之後的課程中會具體分析。另外,說Git就不能不說到GitHub。它又是什麼?請看下節課。