Git的分布式版本控制
Git:開源分布式版本控制系統(tǒng),現(xiàn)在使用較廣的版本管理工具。
版本控制是什么,簡單理解就是對文件變更的管理,在軟件開發(fā)過程中就是對程序代碼、配置文件及說明文檔等文件的變更管理。
那什么是分布式呢?Git的分布式是相對于集中式而言。集中式,把數(shù)據(jù)集中保存在服務端,所有的客戶節(jié)點都從服務節(jié)點獲取數(shù)據(jù),如svn。這類系統(tǒng)都有一個單一的集中管理的服務器,保存所有文件的修訂版本,協(xié)同工作的人們通過客戶端連接到這臺服務器,取出最新的文件或者提交更新。如下圖:

集中式系統(tǒng)工作原理
分布式版本控制系統(tǒng)如git,bazaar等,不僅將數(shù)據(jù)保存在服務器上,同時也完整的保存在本地磁盤中。換句話說,客戶端不只是提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來。git的這種機制有非常多的便利,如可以離線情況努力搬磚,隨時隨地提交項目更新。服務器發(fā)生故障,都可以使用任何一個鏡像出來的本地倉庫恢復。因為每一次的克隆操作,實際上都是一次對代碼倉庫的完整備份。如下圖:

分布式系統(tǒng)工作原理
Git解決的問題
版本控制;
為每一次變更提交版本更新并且備注更新的內(nèi)容;
在項目的各個歷史版本之間自如切換;
一目了然的比較出兩個版本之間的差異;
從當前的修改中撤銷一些操作;
自如的創(chuàng)建分支、合并分支;
多人協(xié)作開發(fā);
自由多樣的開發(fā)模式。