版本管理的理解以及常用的版本管理工具


 

 

一、是什么

版本控制(Version control),是維護工程藍圖的標准做法,能追蹤工程藍圖從誕生一直到定案的過程。此外,版本控制也是一種軟件工程技巧,借此能在軟件開發的過程中,確保由不同人所編輯的同一程序文件都得到同步

透過文檔控制,能記錄任何工程項目內各個模塊的改動歷程,並為每次改動編上序號

一種簡單的版本控制形式如下:賦給圖的初版一個版本等級“A”。當做了第一次改變后,版本等級改為“B”,以此類推

版本控制能提供項目的設計者,將設計恢復到之前任一狀態的選擇權

簡言之,你的修改只要提到到版本控制系統,基本都可以找回,版本控制系統就像一台時光機器,可以讓你回到任何一個時間點

二、有哪些

版本控制系統在當今的軟件開發中,被認為是理所當然的配備工具之一,根據類別可以分成:

  • 本地版本控制系統
  • 集中式版本控制系統
  • 分布式版本控制系統

本地版本控制系統

結構如下圖所示:

 

 

優點:

  • 簡單,很多系統中都有內置
  • 適合管理文本,如系統配置

缺點:

  • 其不支持遠程操作,因此並不適合多人版本開發

集中式版本控制系統

結構如下圖所示:

 

 

優點:

  • 適合多人團隊協作開發
  • 代碼集中化管理

缺點:

  • 單點故障
  • 必須聯網,無法單機工作

代表工具有SVNCVS

SVN

TortoiseSVN是一款非常易於使用的跨平台的 版本控制/版本控制/源代碼控制軟件

CVS

CVS是版本控制系統,是源配置管理(SCM)的重要組成部分。使用它,您可以記錄源文件和文檔的歷史記錄

老牌的版本控制系統,它是基於客戶端/服務器的行為使得其可容納多用戶,構成網絡也很方便

這一特性使得CVS成為位於不同地點的人同時處理數據文件(特別是程序的源代碼)時的首選

分布式版本控制系統

結構如下圖:

 

 

優點:

  • 適合多人團隊協作開發
  • 代碼集中化管理
  • 可以離線工作
  • 每個計算機都是一個完整倉庫

分布式版本管理系統每個計算機都有一個完整的倉庫,可本地提交,可以做到離線工作,則不用像集中管理那樣因為斷網情況而無法工作

代表工具為GitHG

Git

Git是目前世界上最先進的分布式版本控制系統,旨在快速高效地處理從小型到大型項目的所有事務

特性:易於學習,占用內存小,具有閃電般快速的性能

使用GitGitlab搭建版本控制環境是現在互聯網公司最流行的版本控制方式

HG

Mercurial是一個免費的分布式源代碼管理工具。它可以有效地處理任何規模的項目,並提供簡單直觀的界面

Mercurial是一種輕量級分布式版本控制系統,采用 Python語言實現,易於學習和使用,擴展性強

三、總結

版本控制系統的優點如下:

  • 記錄文件所有歷史變化,這是版本控制系統的基本能力
  • 隨時恢復到任意時間點,歷史記錄功能使我們不怕改錯代碼了
  • 支持多功能並行開發,通常版本控制系統都支持分支,保證了並行開發的可行
  • 多人協作並行開發,對於多人協作項目,支持多人協作開發的版本管理將事半功倍


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM