相信對于每一個開發從事者或一個團隊、一家公司都對版本控制管理器都不陌生,接下來我會持續寫關于版本控制管理器的相關文章,包括發展史、從古典時期的CVS的介紹到現代火熱的Git等版本控制管理器,以及其各自的特點和區別, 本篇文章我會為大家先介紹版本控制管理器的發展史,直接上圖:

這張圖上分成了四個時期:
(1)史前時期:1982年的RCS,現在你可能還能在Unix的發布包中找到它,
(2)古典時期:1990年的CVS(經典的SCM管理器,可惜不能track目錄和檔案名的改變,今天這個東西已經過時了),1985年的PVCS,1992年的clearcase(價格貴,功能復雜,當然,今天也有很多公司在用),微軟的VSS(Welcome to Hell),90年代中期的Perforce(P4,這個工具今天都還在被廣泛地使用,尤其是那些中等大小卻有著大量開發團隊的公司,現在是Google內部最大的代碼管理器),
(3)中世紀時期:SVN(Linus很不喜歡SVN,2006年引入了Git),AccuRev(強力支持branch和merge,其扮演了一個很重要角色幫助社區脫離clearcase和CVS),
(4)文藝復興時期:BitKeeper——Sun的內部管理工具,Linux的內核代碼2002年也用這個工具,其實,很多開源工程都在用這個工具,2005年這個工具的東家BitMover對大家對BitKeeper逆向工程很不滿,于是停止支持開源,于是出現了Git,
Git 基于 DAG 結構 (Directed Acyclic Graph),其運行起來相當的快,在Git發布后的來年,世界上所有的大型的開源專案全部從Subversion遷移到了Git上,這可能是這具星球上最強大最牛最酷的SCM系統了,Git可能并不是最簡單的,但它一定會是未來十年的主流,
Mercurial (Hg) 第一次出現在2005年4月,也是因為BitKeeper不免費了,Hg可以和Git在一起使用,但是Hg和Git在設計上不一樣,他們對提交/變更的概念是一樣的,只不過Git用tree來實作,而Hg則是用扁平的檔案和目錄來實作(revlog),
Darcs (Darcs Advanced Revision Control System)是另一個讓你擺脫Subversion和CVS的工具,它的優勢是性能,以及他與眾不同的歷史版本管理——管理patches而不是snapshot(提交/修改),當然,這樣一來,歷史改變看上去很不好懂,
Bazaar (bzr) 是另一個開源的 DVCS,它試圖給SCM的世界里帶來一些新的東西,其由Canonical開發(Ubuntu的那個公司),在2008年成為GNU,
Plastic在2006年出現,強力地支持branch和merge,其還提供了強大的圖示,包括3D的版本樹,Plastic主要是為了讓中等開發團隊使用,介于大型的團隊(ClearCase)和小型的團隊(Subversion)之間,
Team Foundation Server (TFS),微軟的新一代SCM工具,主要是為了VSS的失敗負責,但是他還不是版本管理上還是很強,只不過,他集成了一大堆各種各樣的工具,比如:issue tracking,test management等,
原本鏈接如下:
https://blog.csdn.net/weixin_36841920/article/details/79492015
以上是版本控制管理器的發展史,若存在不足,請留言賜教,
A young ilder ~ an old beggar !
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225024.html
標籤:其他
上一篇:別了鄭州,2020再出發
