版本管理——Git和SVN的介紹及其優缺點

版本管理git

   概念:版本管理是軟件配置管理的基礎,它管理並保護開發者的軟件資源。
 
   好處:能夠保留咱們的歷史版本,在代碼開發到一半的時候,不至於無端丟失,還能夠查看BUG的前因後果。
 
   版本管理種類:集中式的版本管理和分佈式的版本管理。實現的控制軟件分別有 SVNGit
 
 
瞭解了版本管理的概念那就進入主題,講講SVN和Git
 
 
 
SVN
    
    概念SVN是Subversion的簡稱,是一個開放源代碼的集中式的版本控制系統。
    
    具體描述集中式代碼管理,核心是服務器。全部開發者在開始新一天的工做以前必須從服務器獲取代碼,而後開發,解決衝突,最後提交。全部的版本信息都放在服務器上。若是脫離了服務器,開發者基本上能夠說是沒法工做的。
 
  簡述SVN是集中式版本管理,你們都提交文件到同一個地方,服務器的存儲壓力大。所以它對於文件的版本控制,只記錄修改部分,不產生多餘的數據。
 
  最大的缺點這是一個集中式的版本管理,全部的數據都通過中央服務器進行交換同步。若是不能鏈接到服務器上,基本上不能夠工做,若是服務器不能鏈接上,就不能提交,還原,對比等等。
 
 
SVN優缺點總結:

  SVN的優勢:數據庫

    一、採用集中式,易於管理,保證安全性;安全

    二、管理方便,邏輯明確,理念符合常規思惟;服務器

    三、代碼的一致性高;架構

    四、適合人數很少的項目開發;分佈式

    五、容許一個文件有任意多的可命名屬性,會關注全部的文件類型;svn

    六、支持二進制文件,更容易處理大文件;學習

    七、支持空目錄。spa

 

  SVN的缺點:.net

    一、服務器壓力太大,數據庫容量暴增;

    二、必須鏈接在服務器上,不然基本不能工做、提交、對比、還原等;

    三、不適合開源開發。

 

————————————————————————————————

 

Git

 概念:Git是目前世界上最早進的分佈式版本控制系統。

 

  SVN與Git的最主要的區別:

     SVN的存儲須要依賴一個服務器,而git全部的東西是放在線上的。節約成本,省時省力。
 
       git 是分佈式的,svn 不是。
 
       git 按照源數據的方式存儲內容,svn 是按照文件的形式存儲
 
       git 和 svn 中的分支不一樣。
 
       git 沒有全局版本號,svn 有。
 
       git 內容的完整性優於 svn。

 

工做區:我的 PC 中能看到的文件目錄結構
暫存區:stage/index,通常存放在.git/index 中,因此 git 中的暫存區也會稱爲索引。
版本庫:工做區中的.git 隱藏文件,不算是工做區,而是 Git 的版本庫。

 

  

Git的優缺點總結

 

  Git的優勢:

    一、適合分佈式開發,強調個體;

    二、公共的服務器壓力和數量都不會太大;

    三、速度快, 成熟的架構,開發靈活;

    四、任意兩個開發者之間能夠很容易的解決衝突;

    五、離線工做,管理代碼成本低,不須要依賴服務器;

    六、部署方便。基本上下個命令就能夠用;

    七、良好的分支機制,可讓主幹代碼保持乾淨。

 

  Git的缺點:

    一、資料少,學習成本比較大,學習週期比較長,要求人員素質比較高;

    二、不符合常規思惟;

    三、代碼保密性差,一旦開發者把整個庫克隆下來就能夠徹底公開全部代碼和版本信息。


————————————————————————————————

 

關於優缺點的總結轉載自:原文連接:https://blog.csdn.net/bmicnj/article/details/78413058

相關文章
相關標籤/搜索