來源:公司資(zī)訊 | 2021.08.17
1.什麽是git
git是一(yī)個開(kāi)源的分(fēn)布式版本控制系統,可以高效、高速地處理從非常小(xiǎo)到非常大(dà)的項目的版本管理。Git是用C語言
2開(kāi)發和實現的。Git和SVN的比較
Git和SVN是兩種不同的版本控制系統。Git是一(yī)個分(fēn)布式版本控制系統,而SVN是一(yī)個集中(zhōng)式版本控制系統。要比較GIT和SVN的區别,首先需要了解分(fēn)布式版本控制系統和集中(zhōng)式版本控制系統的基本概念
集中(zhōng)式版本控制系統:一(yī)個顯著的特點是版本庫存儲在中(zhōng)央服務器上,統一(yī)管理項目的版本信息和分(fēn)支機構信息。團隊的每個成員(yuán)在工(gōng)作之前都需要從中(zhōng)央服務器提取最新的代碼。完成工(gōng)作後,将代碼提交到中(zhōng)央服務器。集中(zhōng)式版本服務器有兩個缺點:
它必須連接到網絡才能工(gōng)作。當沒有網絡或網絡很差時,團隊成員(yuán)無法一(yī)起工(gōng)作
安全性不好,因爲版本庫位于中(zhōng)央服務器上。當中(zhōng)央服務器損壞時,版本庫将丢失,使所有成員(yuán)無法工(gōng)作
集中(zhōng)式版本控制系統的網絡拓撲如下(xià)圖所示:
可以看出團隊所有成員(yuán)的工(gōng)作計算機隻處理中(zhōng)央服務器。如果将版本庫與庫進行比較,則每個人(每台計算機)都需要從庫中(zhōng)借書(shū)(提取最新代碼),閱讀完後,将其返回到庫中(zhōng)(修改後提交給中(zhōng)央服務器)
分(fēn)布式版本控制系統:與集中(zhōng)式版本控制系統最大(dà)的區别在于,團隊所有成員(yuán)的工(gōng)作計算機上都有一(yī)個完整的版本庫,并且沒有中(zhōng)央服務器。,這相當于團隊的每個成員(yuán)都有自己的小(xiǎo)型庫(版本庫),成員(yuán)可以在自己的庫中(zhōng)交換書(shū)籍(彼此提交自己的修改)。不需要中(zhōng)央服務器來管理協調管理
當實際使用分(fēn)布式版本控制系統時,很少在兩個人之間的計算機上推送版本庫,因爲有時您不在同一(yī)個LAN中(zhōng),或者同事的計算機被關閉。因此,分(fēn)布式版本控制系統通常有一(yī)台充當“中(zhōng)央服務器”的計算機,但該服務器的作用隻是爲了方便“交換”每個人的修改。沒有它,每個人都可以工(gōng)作,但是交換修改是不方便的。此計算機上充當“中(zhōng)央服務器”的版本庫稱爲遠程版本庫,其他成員(yuán)計算機上的版本庫稱爲本地版本庫。稍後将詳細描述
分(fēn)布式版本控制系統的網絡拓撲如下(xià)圖所示:
分(fēn)布式版本控制系統消除了中(zhōng)央服務器,這充分(fēn)體(tǐ)現了分(fēn)布式的核心概念,即分(fēn)散。有兩個好處:
您可以在沒有網絡的情況下(xià)工(gōng)作:團隊的每個成員(yuán)都可以在沒有網絡的情況下(xià)工(gōng)作,因爲本地有一(yī)個完整的版本庫,所以您不必擔心數據丢失
更安全的數據:當成員(yuán)的計算機發生(shēng)故障時,這并不重要。隻需從其他成員(yuán)的計算機上複制即可。但是,如果集中(zhōng)式版本控制系統的中(zhōng)央服務器出現問題,版本庫可能會丢失,使每個人都無法工(gōng)作