Git 學習記錄之演變歷史

莫名私下裡發表於2019-12-26
  • VCS出現前 主要採取 用目錄複製區別不同版本
    1. 公共檔案容易被覆蓋
    2. 成員溝通成本很高,程式碼整合效率低下
  • 集中式VCS
    1. 有集中的版本管理伺服器
    2. 具備檔案版本管本
    3. 整合效率明顯提高
    4. 客戶端必須時刻與伺服器相連
  • 分散式VCS
    1. 服務端與客戶端都有完整的版本庫
    2. 脫離服務端,客戶端可以繼續使用版本管理
    3. 不需要訪問伺服器就可以檢視歷史版本等多數操作,效率比起集中式提高更多
  • 林納斯·本納第克特·託瓦茲——linux之父 Git之父
    Linus在1991年建立了開源的Linux,由於世界各地為Linux編寫程式碼,程式碼管理不方便.為什麼Linus不把Linux程式碼放到版本控制系統裡呢?不是有CVS、SVN這些免費的版本控制系統嗎?因為Linus堅定地反對CVS和SVN,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用。有一些商用的版本控制系統,雖然比CVS、SVN好用,但那是付費的,和Linux的開源精神不符。
    到了2002年,Linux系統已經發展了十年了,程式碼庫之大讓Linus很難繼續透過手工方式管理了,社群的弟兄們也對這種方式表達了強烈不滿,於是Linus選擇了一個商業的版本控制系統BitKeeper,BitKeeper的東家BitMover公司出於人道主義精神,授權Linux社群免費使用這個版本控制系統.
    安定團結的大好局面在2005年就被打破了,原因是Linux社群牛人聚集,不免沾染了一些梁山好漢的江湖習氣。開發Samba的Andrew試圖破解BitKeeper的協議(這麼幹的其實也不只他一個),被BitMover公司發現了(監控工作做得不錯!),於是BitMover公司怒了,要收回Linux社群的免費使用權。
    Linus可以向BitMover公司道個歉,保證以後嚴格管教弟兄們,嗯,這是不可能的。實際情況是這樣的:
    Linus花了兩週時間自己用C寫了一個分散式版本控制系統,這就是Git!一個月之內,Linux系統的原始碼已經由Git管理了!牛是怎麼定義的呢?大家可以體會一下。
    Git迅速成為最流行的分散式版本控制系統,尤其是2008年,GitHub網站上線了,它為開源專案免費提供Git儲存,無數開源專案開始遷移至GitHub,包括jQuery,PHP,Ruby等等。
    歷史就是這麼偶然,如果不是當年BitMover公司威脅Linux社群,可能現在我們就沒有免費而超級好用的Git了。
    特別感謝:
    社群
    一往無前-千夜
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章