1. 程式人生 > >iOS - 版本控制系統

iOS - 版本控制系統

補丁 sub 一個 內容變化 技術 最新版本 變化 鏡像 ali

1、版本控制

  • 版本控制是一種記錄一個或若幹文件內容變化,以便將來查閱特定版本修訂情況的系統。

  • 許多人習慣用復制整個項目目錄的方式來保存不同的版本,或許還會改名加上備份時間以示區別。這麽做唯一的好處就是簡單,但是特別容易犯錯。有時候會混淆所在的工作目錄,一不小心會寫錯文件或者覆蓋意想外的文件。

2、版本控制系統

  • 1)本地版本控制系統

    • 本地版本控制系統中最流行的一種叫做 RCS,現今許多計算機系統上都還看得到它的蹤影。甚至在流行的 Mac OS X 系統上安裝了開發者工具包之後,也可以使用 rcs 命令。它的工作原理是在硬盤上保存補丁集(補丁是指文件修訂前後的變化);通過應用所有的補丁,可以重新計算出各個版本的文件內容。

      技術分享圖片

  • 2)集中式版本控制系統

    • 集中式版本控制系統(Centralized Version Control Systems,簡稱 CVCS),諸如 CVS、Subversion(SVN)以及 Perforce 等,都有一個單一的集中管理的服務器,保存所有文件的修訂版本,而協同工作的人們都通過客戶端連到這臺服務器,取出最新的文件或者提交更新。多年以來,這已成為版本控制系統的標準做法。

      技術分享圖片

  • 3)分布式版本控制系統

    • 分布式版本控制系統(Distributed Version Control System,簡稱 DVCS),像 Git、Mercurial、Bazaar 以及 Darcs 等,客戶端並不只提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。這麽一來,任何一處協同工作用的服務器發生故障,事後都可以用任何一個鏡像出來的本地倉庫恢復。因為每一次的克隆操作,實際上都是一次對代碼倉庫的完整備份。

    • 更進一步,許多這類系統都可以指定和若幹不同的遠端代碼倉庫進行交互。籍此,你就可以在同一個項目中,分別和不同工作小組的人相互協作。你可以根據需要設定不同的協作流程,比如層次模型式的工作流,而這在以前的集中式系統中是無法實現的。

      技術分享圖片

iOS - 版本控制系統