版本管理
概念:版本管理是軟件配置管理的基礎,它管理並保護開發者的軟件資源。
好處:可以保留我們的歷史版本,在代碼開發到一半的時候,不至於無故丟失,還可以查看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