欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Git基礎(chǔ)之git與SVN版本控制優(yōu)缺點(diǎn)區(qū)別分析

 更新時(shí)間:2022年04月22日 15:46:28   作者:繁華似錦Fighting  
這篇文章主要為大家介紹了Git基礎(chǔ)之git與SVN優(yōu)缺點(diǎn)及區(qū)別分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Git和SVN的區(qū)別

(1)SVN(集中式版本管理系統(tǒng))

集中式的版本控制系統(tǒng)都有一個(gè)單一的集中管理的服務(wù)器,保存所有文件的修訂版本,而協(xié)同工作的人們都通過(guò)客戶(hù)端連到這臺(tái)服務(wù)器,取出最新的文件或者提交更新。

Subversion屬于集中式版本控制系統(tǒng)。

  • 好處:

每個(gè)人都可以一定程度上看到項(xiàng)目中的其他人正在做些什么。

而管理員也可以輕松掌控每個(gè)開(kāi)發(fā)者的權(quán)限。

  • 缺點(diǎn):

中央服務(wù)器的單點(diǎn)故障。若是宕機(jī)一小時(shí),那么在這一小時(shí)內(nèi),誰(shuí)都無(wú)法提交更新、還原、對(duì)比等,也就無(wú)法協(xié)同工作。

如果中央服務(wù)器的磁盤(pán)發(fā)生故障,并且沒(méi)做過(guò)備份或者備份得不夠及時(shí)的話(huà),還會(huì)有丟失數(shù)據(jù)的風(fēng)險(xiǎn)。最壞的情況是徹底丟失整個(gè)項(xiàng)目的所有歷史更改記錄,被客戶(hù)端提取出來(lái)的某些快照數(shù)據(jù)除外,但這樣的話(huà)依然是個(gè)問(wèn)題,你不能保證所有的數(shù)據(jù)都已經(jīng)有人提取出來(lái)。

Subversion原理上只關(guān)心文件內(nèi)容的具體差異。每次記錄有哪些文件作了更新,以及都更新了哪些行的什么內(nèi)容。

有很多人認(rèn)為,集中式的版本控制系統(tǒng)在速度上和性能上是不足的。后來(lái)基于集中式的版本控制系統(tǒng)的不足,開(kāi)發(fā)了分布式的版本控制系統(tǒng)。

  • Subversion的特點(diǎn)概括

每個(gè)版本庫(kù)有唯一的URL(官方地址),每個(gè)用戶(hù)都從這個(gè)地址獲取代碼和數(shù)據(jù);

獲取代碼的更新,也只能連接到這個(gè)唯一的版本庫(kù),同步以取得最新數(shù)據(jù);

提交必須有網(wǎng)絡(luò)連接(非本地版本庫(kù));

提交需要授權(quán),如果沒(méi)有寫(xiě)權(quán)限,提交會(huì)失??;

提交并非每次都能夠成功。如果有其他人先于你提交,會(huì)提示“改動(dòng)基于過(guò)時(shí)的版本,先更新再提交”… 諸如此類(lèi);

沖突解決是一個(gè)提交速度的競(jìng)賽:手快者,先提交,平安無(wú)事;手慢者,后提交,可能遇到麻煩的沖突解決。

(2)Git(分布式版本管理系統(tǒng))

如下圖所示:

以Git為例:

  • Git是一個(gè)分布式的版本控制系統(tǒng),和集中式的控制系統(tǒng)很大的一個(gè)差異是,分布式的版本控制系統(tǒng)的服務(wù)端和客戶(hù)端都有完整的一套版本庫(kù)。那脫離服務(wù)端,客戶(hù)端照樣可以管理版本的。并且查看歷史以及版本比較等相關(guān)操作,都不需要去訪問(wèn)服務(wù)器,也就是說(shuō)分布式的控制系統(tǒng)比集中式的控制系統(tǒng)更能提高版本管理的效率。
  • Git記錄版本歷史只關(guān)心文件數(shù)據(jù)的整體是否發(fā)生變化,Git 不保存文件內(nèi)容前后變化的差異數(shù)據(jù)。
    所以Git每次存的都是項(xiàng)目的完整快照,需要的硬盤(pán)空間會(huì)相對(duì)大一點(diǎn)。
    (Git團(tuán)隊(duì)對(duì)代碼做了極致的壓縮,最終需要的實(shí)際空間比SVN多不了太多,可是Git的回滾速度極快)。
  • 實(shí)際上,Git 更像是把變化的文件作快照后,記錄在一個(gè)微型的文件系統(tǒng)中。每次提交更新時(shí),它會(huì)縱覽一遍所有文件的指紋信息,并對(duì)文件作一快照,然后保存一個(gè)指向這次快照的索引。為提高性能,若文件沒(méi)有變化,Git 不會(huì)再次保存,而只對(duì)上次保存的快照作一個(gè)連接。
  • 在分布式版本控制系統(tǒng)中,客戶(hù)端并不只提取最新版本的文件快照,而是把原始的代碼倉(cāng)庫(kù)完整地鏡像下來(lái)。這么一來(lái),任何一處協(xié)同工作用的服務(wù)器發(fā)生故障,事后都可以用任何一個(gè)鏡像出來(lái)的本地倉(cāng)庫(kù)恢復(fù)。這類(lèi)系統(tǒng)都可以指定和若干不同的遠(yuǎn)端代碼倉(cāng)庫(kù)進(jìn)行交互。因此,你就可以在同一個(gè)項(xiàng)目中,分別和不同工作小組的人相互協(xié)作,你可以根據(jù)需要設(shè)定不同的協(xié)作流程。
  • 另外,因?yàn)镚it在本地磁盤(pán)上就保存著所有有關(guān)當(dāng)前項(xiàng)目的歷史更新,并且Git中的絕大多數(shù)操作都只需要訪問(wèn)本地文件和資源,不用連網(wǎng),所以處理起來(lái)速度飛快。用SVN的話(huà),沒(méi)有網(wǎng)絡(luò)或者斷開(kāi)VPN你就無(wú)法做任何事情。但用Git的話(huà),就算你在飛機(jī)或者火車(chē)上,都可以非常愉快地頻繁提交更新,等到了有網(wǎng)絡(luò)的時(shí)候再上傳到遠(yuǎn)程的鏡像倉(cāng)庫(kù)。

2、SVN和Git的優(yōu)缺點(diǎn)

(1)SVN優(yōu)缺點(diǎn)

1)優(yōu)點(diǎn):

  • 管理方便,邏輯明確,符合一般人思維習(xí)慣。
  • 易于管理,集中式服務(wù)器更能保證安全性。
  • 代碼一致性非常高。
  • 適合開(kāi)發(fā)人數(shù)不多的項(xiàng)目開(kāi)發(fā)。

2)缺點(diǎn):

  • 服務(wù)器壓力太大,數(shù)據(jù)庫(kù)容量暴增。
  • 必須具有網(wǎng)絡(luò)環(huán)境,單機(jī)無(wú)法實(shí)現(xiàn)版本控制。也就是如果不能連接到服務(wù)器上,基本上不可以工作,就不能進(jìn)行提交,還原,對(duì)比等等操作。
  • 注意避免中央集中服務(wù)器單點(diǎn)故障。
  • 客戶(hù)機(jī)之間無(wú)法直接進(jìn)行聯(lián)系。
  • 不適合開(kāi)源開(kāi)發(fā)(開(kāi)發(fā)人數(shù)非常非常多)。但是一般集中式管理的有非常明確的權(quán)限管理機(jī)制(例如分支訪問(wèn)限制),可以實(shí)現(xiàn)分層管理,從而很好的解決開(kāi)發(fā)人數(shù)眾多的問(wèn)題。

(2)Git優(yōu)缺點(diǎn)

1)優(yōu)點(diǎn):

  • 適合分布式開(kāi)發(fā),強(qiáng)調(diào)個(gè)體。
  • 公共服務(wù)器壓力和數(shù)據(jù)量都不會(huì)太大。
  • 速度快、靈活。
  • 任意兩個(gè)開(kāi)發(fā)者之間可以很容易的解決沖突。
  • 可以離線工作。

2)缺點(diǎn):

  • 學(xué)習(xí)周期相對(duì)而言比較長(zhǎng)。
  • 不符合常規(guī)思維。
  • 代碼保密性差,一旦開(kāi)發(fā)者把整個(gè)庫(kù)克隆下來(lái)就可以完全公開(kāi)所有代碼和版本信息。

3、總結(jié)一下

  • 當(dāng)研發(fā)成本比較低,協(xié)作開(kāi)發(fā)人數(shù)不多,開(kāi)發(fā)人員對(duì)于版本管理的水平參差不齊的時(shí)候,或者對(duì)于代碼的安全性要求更高一點(diǎn)的時(shí)候,適合用SVN。
  • 而對(duì)于很多人參與開(kāi)發(fā),代碼量比較大,或者高頻次協(xié)作,跨公司,跨地域合作的情況下,更適合用Git。

參考:http://www.dbjr.com.cn/article/245619.htm

以上就是Git基礎(chǔ)之git與SVN優(yōu)缺點(diǎn)及區(qū)別分析的詳細(xì)內(nèi)容,更多關(guān)于git與SVN區(qū)別分析的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 萬(wàn)萬(wàn)沒(méi)想到Chrome的歷史記錄竟然可以這么玩

    萬(wàn)萬(wàn)沒(méi)想到Chrome的歷史記錄竟然可以這么玩

    最近遇到一個(gè)棘手的問(wèn)題,需要查找含有某個(gè)關(guān)鍵字的網(wǎng)頁(yè),但是通過(guò)chrome原生的歷史記錄查出來(lái)的,查到的結(jié)果并不滿(mǎn)意,今天小編就給大家分享一篇教程幫助大家解決Chrome歷史記錄的問(wèn)題,感興趣的朋友一起看看吧
    2020-10-10
  • Kali?Linux?2022.1安裝和相關(guān)配置教程(圖文詳解)

    Kali?Linux?2022.1安裝和相關(guān)配置教程(圖文詳解)

    這篇文章主要介紹了KaliLinux?2022.1安裝和相關(guān)配置,包括安裝系統(tǒng)和設(shè)置中文的方法,永久調(diào)節(jié)分辨率的相關(guān)技巧,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • Typora?0.11.18免費(fèi)版本安裝使用教程(親測(cè)可用)

    Typora?0.11.18免費(fèi)版本安裝使用教程(親測(cè)可用)

    Typora是一款非常使用的筆記工具,對(duì)于程序員非常友好,在2021年11月23日,Typora?正式發(fā)布?1.0?版本,進(jìn)入了付費(fèi)時(shí)代,Typora免費(fèi)版本0.11.18(最后的免費(fèi)版),本文給大家分享Typora免費(fèi)獲取方法及安裝使用教程,感興趣的朋友參考下吧
    2022-07-07
  • TypeScript類(lèi)型檢查詳談及火爆原因

    TypeScript類(lèi)型檢查詳談及火爆原因

    這篇文章主要為大家介紹了TypeScript類(lèi)型檢查以及火爆原因,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Git版本控制服務(wù)器詳解

    Git版本控制服務(wù)器詳解

    這篇文章主要為大家介紹了Git版本控制服務(wù)器詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 一文詳解軟件測(cè)試需求分析是什么

    一文詳解軟件測(cè)試需求分析是什么

    需求分析是掌握被測(cè)系統(tǒng)的過(guò)程,一般測(cè)試和開(kāi)發(fā)人員都要進(jìn)行需求分析,測(cè)試方做的需求分析稱(chēng)為測(cè)試需求分析,這篇文章主要給大家介紹了關(guān)于軟件測(cè)試需求分析的相關(guān)資料,需要的朋友可以參考下
    2007-04-04
  • SSO單點(diǎn)登錄和OAuth2.0區(qū)別小結(jié)

    SSO單點(diǎn)登錄和OAuth2.0區(qū)別小結(jié)

    很多時(shí)候我們會(huì)使用單點(diǎn)登錄SSO或者OAuth2.0等身份驗(yàn)證和授權(quán)來(lái)實(shí)現(xiàn)登錄,本文主要介紹了SSO單點(diǎn)登錄和OAuth2.0區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • 趣談Unicode、Ascii、utf-8、GB2312、GBK等編碼知識(shí)

    趣談Unicode、Ascii、utf-8、GB2312、GBK等編碼知識(shí)

    這篇文章主要介紹了趣談Unicode、Ascii、utf-8、GB2312、GBK等編碼知識(shí),文章寫(xiě)的詼諧風(fēng)趣,膜拜啊,需要的朋友可以參考下
    2014-07-07
  • 如何利用FFmpeg合并音頻和視頻(多種方式)

    如何利用FFmpeg合并音頻和視頻(多種方式)

    這篇文章主要介紹了如何利用FFmpeg合并音頻和視頻,詳細(xì)介紹了FFmpeg 多個(gè)音頻合并的2種方法,通過(guò)場(chǎng)景分享介紹了FFmpeg合并視頻文件的4種方法,需要的朋友可以參考下
    2023-02-02
  • IE 打開(kāi)服務(wù)器下的MHT文件的實(shí)現(xiàn)方法

    IE 打開(kāi)服務(wù)器下的MHT文件的實(shí)現(xiàn)方法

    在和同學(xué)做畢業(yè)設(shè)計(jì)的時(shí)候,要能夠提供PPT課件的在線播放.要做到這一點(diǎn)并不難,只需將PPT課件轉(zhuǎn)換為網(wǎng)頁(yè)文件htm或mht文件即可。首先解釋下mht文件。
    2009-04-04

最新評(píng)論