VCS[版本控制系統]

VCS[版本控制系統]

版本控制系統(version control system),是一種記錄一個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。版本控制系統不僅可以套用於軟體原始碼的文本檔案,而且可以對任何類型的檔案進行版本控制。用的比較多的如svn,git等。

為了讓不同系統上的開發者能夠協同工作,集中化的版本控制系統應運而生(CVCS)。這類系統都有一個單一的集中管理的伺服器,保存所有檔案的修訂版本。而協同工作的人們都通過客戶端連線到這台伺服器,獲取最新的檔案或者提交更新。集中化的版本控制系統,最顯而易見的缺點是中央伺服器的單點故障問題。如果宕機,那么就會出現誰都無法提交更新的情況,那么也就無法協同工作;如果磁碟發生故障,而備份又不夠即時,那么就有丟失數據的風險,最壞的情況是丟失整個項目的歷史更改記錄。因此,分散式版本控制系統問世了(DVCS)。

在分散式版本控制系統中,客戶端不僅僅是只提取最新版本的檔案快照,而是把代碼倉庫完整的鏡像下來。所以每一次提取的操作,都是對代碼倉庫的完整備份,因此也就不必擔心協同工作用的伺服器發生故障。

Git和其他版本控制系統的主要差別在於:Git只關心檔案數據的整體是否發生了變化,而多數的其他系統則只關心檔案內容的具體差異,它們在每個版本中記錄著各個檔案的具體差異。在Git中的絕大多數操作都只需要訪問本地檔案和資源,不需要聯網。這是因為Git在本地磁碟上就保留著所有當前項目的歷史更新,所以處理起來速度飛快,這是使用空間換時間的處理方式。使用Git,即使在沒有網路或VPN的情況下,你同樣可以非常愉快的頻繁提交更新,等到有了網路的時候再提交到遠程的倉庫。

相關詞條

熱門詞條

聯絡我們