版本控制
基本上,只要編輯過復雜文檔就會遇到這樣的情況:
要修改一段話,但是還想保存之前的內容(想刪卻害怕什么時候用到),怎么辦?這樣:
看到這些是不是要死掉了,天知道哪個版本存儲著什么?
當你想要找過去的內容時只能挨個文件去翻。
更有可能的是,你寫好的內容想要別人幫你查一查錯誤,并幫你修改。當他還給你的時候你根本不知道他都改了什么?
于是,你會希望有個軟件幫你記錄 哪個人 在什么時間 改動了什么地方 ?
那么,恭喜你!進入了版本控制的時代。(舉的例子不當,還請大家見諒)
Git誕生
隨著Linux的發展,代碼庫之大讓Linus很難繼續通過手工方式管理。于是Linus選擇了一個商業的版本控制系統BitKeeper。
Linux社區牛人聚集,開發Samba的Andrew試圖破解BitKeeper的協議,被BitKeeper的公司--BitMover發現了。于是BitMover要收回Linux社區的免費使用權。
于是,Linus花了兩周時間自己用C寫了一個分布式版本控制系統,這就是Git!一個月之內,Linux系統的源碼已經由Git管理了!
Git迅速成為最流行的分布式版本控制系統,尤其是2008年,GitHub網站上線了,它為開源項目免費提供Git存儲,無數開源項目開始遷移至GitHub。
Git是分布式版本控制系統
集中式版本控制系統
集中式版本控制系統(CVS、SVN等),版本庫是集中存放在中央服務器的。所以要先從中央服務器取得最新的版本,然后才能開始工作,完成后再推送給中央服務器。
集中式版本控制系統最大的問題就是必須聯網才能工作。如果網絡正常網速快還好,一旦有問題就工作不了了(好處是,可以休息了)。分布式版本控制系統
而分布式版本控制系統根本沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫。和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多:某一個人的電腦壞掉了不要緊,隨便從其他人那里復制一個就可以了。而集中式版本控制系統的中央服務器要是出了問題,所有人都沒法干活了。
在實際使用分布式版本控制系統的時候,很少在兩人之間的電腦上推送版本庫的修改。因此,分布式版本控制系統通常也有一臺充當“中央服務器”的電腦,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已。
當然,Git的優勢不單是不必聯網這么簡單,Git極其強大的分支管理
安裝Git
要使用Git首先就是要安裝Git,它在Ubuntu上的安裝也是十分簡單的:
sudo apt-get install git
若是其他系統,可以參考Pro Git【可以下載PDF/EPUB/MOBI/HTML】。
也可以下載Git源碼進行安裝。
當然,也可以安裝一些GUI工具,但是注意GUI工具都只是實現了Git的功能的子集。
本文先到這里,欲知后事如何,且聽下回分解!