最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

Git和SVN的區(qū)別

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

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

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

  • 好處:

每個人都可以一定程度上看到項目中的其他人正在做些什么。

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

  • 缺點:

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

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

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

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

  • Subversion的特點概括

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

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

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

提交需要授權(quán),如果沒有寫權(quán)限,提交會失??;

提交并非每次都能夠成功。如果有其他人先于你提交,會提示“改動基于過時的版本,先更新再提交”… 諸如此類;

沖突解決是一個提交速度的競賽:手快者,先提交,平安無事;手慢者,后提交,可能遇到麻煩的沖突解決。

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

如下圖所示:

以Git為例:

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

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

(1)SVN優(yōu)缺點

1)優(yōu)點:

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

2)缺點:

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

(2)Git優(yōu)缺點

1)優(yōu)點:

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

2)缺點:

  • 學習周期相對而言比較長。
  • 不符合常規(guī)思維。
  • 代碼保密性差,一旦開發(fā)者把整個庫克隆下來就可以完全公開所有代碼和版本信息。

3、總結(jié)一下

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

參考:http://m.fzitv.net/article/245619.htm

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

相關文章

  • Runnable.com 在線測試代碼片分享網(wǎng)站

    Runnable.com 在線測試代碼片分享網(wǎng)站

    Runnable是一個一站式的代碼片段集合網(wǎng)站,你不僅可以搜索代碼,還可以編輯、運行這些代碼片段,以確保它們的正確性與可用性
    2013-12-12
  • 將新型冠狀病毒轉(zhuǎn)二進制的代碼(首發(fā))

    將新型冠狀病毒轉(zhuǎn)二進制的代碼(首發(fā))

    這篇文章主要介紹了新型冠狀病毒轉(zhuǎn)二進制的相關知識,分為java,js,php,pthon等語言的實例代碼,需要的朋友可以參考下
    2020-02-02
  • Keras搭建Efficientdet目標檢測平臺的實現(xiàn)思路

    Keras搭建Efficientdet目標檢測平臺的實現(xiàn)思路

    EfficientNet模型具有很獨特的特點,這個特點是參考其它優(yōu)秀神經(jīng)網(wǎng)絡設計出來的,本文以Efficientnet-B0和Efficientdet-D0為例,進行Efficientdet的解析,感興趣的朋友一起看看吧
    2021-06-06
  • 戲說編碼發(fā)展史

    戲說編碼發(fā)展史

    本文從一個風趣的角度詳細介紹了計算機編碼的發(fā)展歷史,十分的有趣,小伙伴們仔細研讀下吧,了解下相關知識也是非常有必要的。
    2015-01-01
  • bitbucket搭建詳細過程記錄

    bitbucket搭建詳細過程記錄

    這篇文章主要介紹了bitbucket搭建詳細過程記錄,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • vscode的幾項基本配置詳解

    vscode的幾項基本配置詳解

    VSCode是一款免費的、開源的、高性能的、跨平臺的、輕量級的代碼編輯器,這篇文章主要介紹了vscode的幾項基本配置,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2020-05-05
  • MobaXterm的安裝和使用及問題小結(jié)

    MobaXterm的安裝和使用及問題小結(jié)

    MobaXterm是一款全能的終端連接工具,支持SSH連接,支持FTP、串口等協(xié)議。接下來通過本文給大家分享MobaXterm的安裝和使用及遇到的問題解決方法,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Emscripten在Windows10下的安裝和配置

    Emscripten在Windows10下的安裝和配置

    這篇文章主要介紹了Emscripten在Windows10下的安裝和配置,Emscripten 是一個完整的 WebAssembly開源編譯器工具鏈,使用Emscripten可以參考平臺說明,感興趣的朋友一起看看吧
    2022-05-05
  • ol7.7安裝部署4節(jié)點hadoop 3.2.1分布式集群學習環(huán)境的詳細教程

    ol7.7安裝部署4節(jié)點hadoop 3.2.1分布式集群學習環(huán)境的詳細教程

    這篇文章主要介紹了ol7.7安裝部署4節(jié)點hadoop 3.2.1分布式集群學習環(huán)境,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • WebStorm?發(fā)布2021.3重大更新新功能介紹

    WebStorm?發(fā)布2021.3重大更新新功能介紹

    ?2021年度最后一次重大更新WebStorm?2021.3來了!此更新充滿了期待已久的增強功能,包括對遠程開發(fā)的支持、改進的?HTML?完成、重新設計的?Deno?集成等
    2021-12-12

最新評論

沙田区| 屏东县| 白银市| 康定县| 资源县| 隆昌县| 博罗县| 都江堰市| 林周县| 多伦县| 榕江县| 浪卡子县| 安塞县| 岚皋县| 镇安县| 保康县| 怀安县| 前郭尔| 剑川县| 东阿县| 北川| 临湘市| 尚志市| 八宿县| 阿尔山市| 射洪县| 若羌县| 定南县| 中卫市| 桦川县| 浦县| 凤翔县| 黑河市| 南昌市| 公安县| 兴业县| 旬阳县| 清涧县| 固阳县| 嘉荫县| 库伦旗|