版本管理 概念:版本管理是軟體配置管理的基礎,它管理並保護開發者的軟體資源。 好處:可以保留我們的歷史版本,在代碼開發到一半的時候,不至於無故丟失,還可以查看BUG的來龍去脈。 版本管理種類:集中式的版本管理和分散式的版本管理。實現的控制軟體分別有SVN和Git。 瞭解了版本管理的概念那就進入主題, ...
版本管理
概念:版本管理是軟體配置管理的基礎,它管理並保護開發者的軟體資源。 好處:可以保留我們的歷史版本,在代碼開發到一半的時候,不至於無故丟失,還可以查看BUG的來龍去脈。 版本管理種類:集中式的版本管理和分散式的版本管理。實現的控制軟體分別有SVN和Git。 瞭解了版本管理的概念那就進入主題,講講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