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