首頁 >開發工具 >Git >版本控制是什麼意思

版本控制是什麼意思

hzc
hzc原創
2020-06-29 14:14:415225瀏覽

版本控制是指軟體開發過程中各種程式碼、設定檔及說明文件等文件變更的管理,是軟體組態管理的核心概念之一。

版本控制是什麼意思

版本控制是指軟體開發過程中各種程式碼、設定檔及說明文件等文件變更的管理,是軟體組態管理的核心思想之一。

簡述:

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

具體來說,在每項開發任務中,都需要先設定開發基線,確定各個配置項的開發初始版本,在開發過程中,開發人員基於開發基線的版本,開發出所需的目標版本。當需求變更發生時,透過變更的評估,確定變更的影響範圍,對被影響的配置項的版本進行修改,根據變更的性質使配置項的版本樹繼續延伸或產生新的分支,形成新的目標版本,而對於不受變更影響的配置項目則不應發產生變動。同時,應能將變更所產生的對版本的影響進行記錄和追蹤。必要時還可以回退到以前的版本。例如當開發需求或需求變更被取消時,就需要有能力將版本回退到開發基準版本。在曾經出現過的季度升級包拆包和重新組包的過程中,其實就是將部分配置項的版本回退到開發基線,將對應不同需求的不同分支重新組合歸併,形成新的升級包版本。

版本控制是軟體組態管理的核心功能。所有置於配置庫中的元素都應自動予以版本的標識,並確保版本命名的唯一性。版本在生成過程中,自動依照設定的使用模型自動分支、演進。除了系統自動記錄的版本資訊以外,為了配合軟體開發流程的各個階段。還需要定義、收集一些元資料來記錄版本的輔助資訊和規格開發流程,並為未來對軟體流程的測量做好準備。當然如果選用的工具支持,這些輔助數據將能直接統計出過程數據,從而方便軟體過程改善活動的進行。對於配置庫中的各個基線控制項,應根據其基線的位置和狀態來設定相應的存取權限。一般來說,對於在基準版本之前的各個版本都應處於鎖定的狀態,如需要對它們進行變更,則應按照變更控制的流程來進行操作。

常見工具:


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開發的一個客戶一伺服器架構的版本控制軟體,長久以來一直是免費版本控制軟體的主要選擇。 SVN的一個重要開發目標是修正CVS中廣為人知的缺點,提供一個新的版本控制軟體。對於中小規模團隊,SVN是一個比較好的開源版本控制工具,SVN常用客戶端工具為TortoiseSVN。

2.成熟的商業工具

商業工具提供了比開源版本控制工具更多的,尤其是和軟體組態管理有關的功能。 IBM公司的Rational ClearCase是一款重量級的軟體配置管理軟體,為大中型軟體開發企業提供了版本控制、工作空間管理、平行開發支援以及版本審計,可以為擁有上千開發者的大型專案提供全面配置管理支援。

以上是版本控制是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn