Git實戰(一)版本控制概述

        從今天開始,我們學習一下分佈式版本控制系統Git的相關內容。在瞭解Git之前,我們先來對版本控制系統做一個宏觀的介紹。

什麼是版本控制 

        版本控制是指通過對文件內容的變化進行記錄,併爲每次的變化進行編號,以便將來查閱文件的修訂情況。有了版本控制之後,就可以比較文件變化的細節,以便將某個文件回溯到之前某個時間點的狀態,從而解決由於文件變化過程中出現的怪異問題。
        版本控制到目前爲止的相關產品有很多,大致可以分爲三類,分別是本地版本控制系統、集中式版本控制系統和分佈式版本控制系統。

本地版本控制系統

        本地版本控制系統出現之前,很多人爲了保存不同版本的文件,通常是通過改名病添加時間戳的方式來區別不同的版本文件,這種方式非常簡單,同時這種方式也非常容易造成文件混亂。所以很早就有人開發了許多種本地版本控制系統,其原理也非常簡單,即使用一個簡單的數據庫記錄文件的每次變更。其原理示意圖如下所示:



集中式版本控制系統

        相對與本地版本控制系統,集中式版本控制系統解決了本地版本控制系統僅在單個的操作系統之上運行的缺陷,實現了在不同的操作系統之上運行,這就給開發者之間進行團隊合作提供了條件。集中式版本控制系統的原理非常與本地版本控制系統的原理類似,所不同的是集中式版本管理系統有一個單一的集中管理的服務器,該服務器可以保存所有的文件修改版本信息,參與團隊開發的客戶端連接這臺服務器之後,就可以提交更新和去除最新的文件。其原理示意圖如下所示:



分佈式版本控制系統

        儘管集中式版本控制系統已經能夠滿足大部分的需求,但由於集中式版本控制系統本身就存在單點故障問題,即如果中央服務器宕機或發生故障,那麼各個客戶端將無法正常工作。分佈式版本控制系統的工作原理在於客戶端並不只提取各個客戶端上的最新版本的文件,而是把中央服務器上的代碼倉庫完整地鏡像下來。這樣,當中央服務器發生故障之後,就可以利用任何一個客戶端的本地倉庫進行中央倉庫的恢復。因爲每一次的提取操作,就是對中央服務器倉庫的完整備份。其原理示意圖如下所示:



        三種類型的版本控制系統介紹就到這裏,這裏重點了解三者之間的聯繫和發展過程中出現問題和解決方案。接下來我們會繼續講解Git的其他內容。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章