版本控制是什么意思

版本控制是指對軟件開發(fā)過程中各種程序代碼、配置文件及說明文檔等文件變更的管理,是軟件配置管理的核心思想之一。

版本控制是什么意思

版本控制是指對軟件開發(fā)過程中各種程序代碼、配置文件及說明文檔等文件變更的管理,是軟件配置管理的核心思想之一。

簡述:

版本控制最主要的功能就是追蹤文件的變更。它將什么時候、什么人更改了文件的什么內(nèi)容等信息忠實地了記錄下來。每一次文件的改變,文件的版本號都將增加。除了記錄版本變更外,版本控制的另一個重要功能是并行開發(fā)。軟件開發(fā)往往是多人協(xié)同作業(yè),版本控制可以有效地解決版本的同步以及不同開發(fā)者之間的開發(fā)通信問題,提高協(xié)同開發(fā)的效率。并行開發(fā)中最常見的不同版本軟件的錯誤(bug)修正問題也可以通過版本控制中分支與合并的方法有效地解決。

具體來說,在每一項開發(fā)任務(wù)中,都需要首先設(shè)定開發(fā)基線,確定各個配置項的開發(fā)初始版本,在開發(fā)過程中,開發(fā)人員基于開發(fā)基線的版本,開發(fā)出所需的目標版本。當發(fā)生需求變更時,通過對變更的評估,確定變更的影響范圍,對被影響的配置項的版本進行修改,根據(jù)變更的性質(zhì)使配置項的版本樹繼續(xù)延伸或產(chǎn)生新的分支,形成新的目標版本,而對于不受變更影響的配置項則不應(yīng)發(fā)產(chǎn)生變動。同時,應(yīng)能夠?qū)⒆兏a(chǎn)生的對版本的影響進行記錄和跟蹤。必要時還可以回退到以前的版本。例如當開發(fā)需求或需求變更被取消時,就需要有能力將版本回退到開發(fā)基線版本。在曾經(jīng)出現(xiàn)過的季度升級包拆包和重新組包的過程中,其實就是將部分配置項的版本回退到開發(fā)基線,將對應(yīng)不同需求的不同分支重新組合歸并,形成新的升級包版本。

版本控制是軟件配置管理的核心功能。所有置于配置庫中的元素都應(yīng)自動予以版本的標識,并保證版本命名的唯一性。版本在生成過程中,自動依照設(shè)定的使用模型自動分支、演進。除了系統(tǒng)自動記錄的版本信息以外,為了配合軟件開發(fā)流程的各個階段。還需要定義、收集一些元數(shù)據(jù)來記錄版本的輔助信息和規(guī)范開發(fā)流程,并為今后對軟件過程的度量做好準備。當然如果選用的工具支持,這些輔助數(shù)據(jù)將能直接統(tǒng)計出過程數(shù)據(jù),從而方便軟件過程改進活動的進行。對于配置庫中的各個基線控制項,應(yīng)該根據(jù)其基線的位置和狀態(tài)來設(shè)置相應(yīng)的訪問權(quán)限。一般來說,對于基線版本之前的各個版本都應(yīng)處于被鎖定的狀態(tài),如需要對它們進行變更,則應(yīng)按照變更控制的流程來進行操作。

常見工具:

1.開源版本控制工具

開放源碼的版本控制工具有很多,如Concurrent Versions System(?CVS)、Subversion(?svn)、Vesta、Revision Control System( RCS)、Source Code Control System( SCCS)等。比較常用的兩個工具是CVS和SVN。CVS是Dick Grune在1984年~1985年基于RCS開發(fā)的一個客戶一服務(wù)器架構(gòu)的版本控制軟件,長久以來一直是免費版本控制軟件的主要選擇。SVN的一個重要開發(fā)目標是修正CVS中廣為人知的缺點,提供一個新的版本控制軟件。對于中小規(guī)模團隊,SVN是一個比較好的開源版本控制工具,SVN常用客戶端工具為TortoiseSVN。

2.成熟的商業(yè)工具

商業(yè)工具提供了比開源版本控制工具更多的,尤其是和軟件配置管理有關(guān)的功能。IBM公司的Rational ClearCase是一款重量級的軟件配置管理軟件,為大中型軟件開發(fā)企業(yè)提供了版本控制、工作空間管理、平行開發(fā)支持以及版本審計,可以為擁有上千開發(fā)者的大型項目提供全面配置管理支持。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊11 分享