源代碼管理歷史
為了了解源代碼控制的重要性,對(duì)源代碼管理的開發(fā)歷史來一個(gè)簡短回顧應(yīng)該會(huì)有一些啟發(fā)。這樣能讓我們洞察到底需要什么特性。以下是一些例子:
把源代碼的歷史版本存放在不同的檔案中。
這種方式最簡單,某種程度上還存在著,許多免費(fèi)軟件項(xiàng)目提供過去發(fā)布的tar檔案供下載。
簽人和簽出的集中式源代碼管理。
在一些系統(tǒng)里,一個(gè)開發(fā)者可以鎖住文件獨(dú)家專享。每一個(gè)文件都被單獨(dú)管理。
像這樣的工具包括修訂控制系統(tǒng)( RCS)和源代碼控制系統(tǒng)(SCCS)。
一個(gè)集中式的存儲(chǔ),在提交之前需要合并。包括并發(fā)版本系統(tǒng)(CVS)和Subversion。
尤其是Subversion,現(xiàn)在仍然用得很廣。許多企業(yè)有集中式的工作流程,而 Subversion能幫它們很好地實(shí)現(xiàn)這樣的流程。
一個(gè)去中心化的存儲(chǔ)。
在進(jìn)化階梯的每一步,我們都得到了更多的靈活性、并發(fā)、更快的速度和更有效率的流程。我們也得到了可以自毀長城的更高級(jí)和強(qiáng)大的武器,切記!
目前,Git是這個(gè)類別里最流行的工具,但是還有許多其他類似的工具也還被使用著諸如Bazaar和Mercurial。
時(shí)間會(huì)告訴我們Git和它的數(shù)據(jù)模型是否會(huì)阻擋住其他源代碼管理寶座的競爭者,接下來的幾年內(nèi),誰將會(huì)毫無疑問地證明自己。