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


版本管理

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

  SVN的優點:

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

    2、管理方便,邏輯明確,理念符合常規思維;

    3、代碼的一致性高;

    4、適合人數不多的項目開發;

    5、允許一個文件有任意多的可命名屬性,會關注所有的文件類型;

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

    7、支持空目錄。

 

  SVN的缺點:

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

    2、必須連接在服務器上,否則基本不能工作、提交、對比、還原等;

    3、不適合開源開發。

 

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

 

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的優點:

    1、適合分布式開發,強調個體;

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

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

    4、任意兩個開發者之間可以很容易的解決沖突;

    5、離線工作,管理代碼成本低,不需要依賴服務器;

    6、部署方便。基本上下個命令就可以用;

    7、良好的分支機制,可以讓主干代碼保持干凈。

 

  Git的缺點:

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

    2、不符合常規思維;

    3、代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。


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

 


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM