SVN和Git的區別


SVN和Git都是比較常用和熟悉的版本控制器,各自有着自己的優勢和實用場景,今天就着兩種版本控制器來說說。

 

SVN:

SVN是Subversion的簡稱,是一個開放源代碼的集中式版本控制系統,支持大多數常見的操作系統。比Git早些出來,目前來說,大多是開發人員都是比較熟悉這款工具的。TortoiseSVN這款輔助軟件相信很多人都用過。

Git:

是一個開源的分布式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。Git是為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。是一款比較進階的代碼控制器。

 

SVN的特點:

(1)SVN的部署比較方便,擁有一個服務器主倉庫,開發人員都相當於是客戶端,設計理念上比較簡潔,容易讓人理解和接受,適合中小型代碼項目。

(2)使用的時候,首先開發人員都需要從預先的url倉庫獲取代碼到本地,然后大家集中向url倉庫提交代碼。最終的版本就是這個倉庫。

(3)提交代碼的時候先建議update,否則可能多個開發人員對同一個文件提交引起代碼沖突。

(4)如果中央服務器宕機,開發人員將不能及時進行代碼提交,如果中央服務器癱瘓可能導致數據和日志丟失。


Git的特點:

(1)Git設計的原理比SVN要復雜一些,開發人員學習和理解的成本略高,它不是一個集中式的管理方式,引入了分布、分支等多個概念。

(2)分布式也就是說當從服務器檢索好代碼到本地的時候,本地會自動創建一個倉庫,本地的倉庫和服務器的倉庫的地位是一樣的。

(3)提交代碼的時候一般是先提交(commit)到本地倉庫,然后在push到服務器倉庫進行合並(merge)。

(4)當沒有網絡的環境下,依然可以方便本地倉庫的提交代碼和查看代碼的歷史日志。服務器就算宕機和故障,代碼恢復也是輕而易舉。

(5)可以在本地靈活創建分支,然后提交到服務器上,多個分支來進行版本分化。


兩種版本控制器的選擇:

其實無論是哪一種版本控制器,都能夠滿足基本的協同需求,首先是看團隊成員對版本的熟悉程度來選擇。其次建議代碼量過大的程序還是使用Git安全性比較高,同時一般情況下,兩種版本控制器都會用,SVN一般用來管理項目,放設計圖,各種文檔和資料,這種東西沒有必要弄得那么麻煩,而且本來就是需要大家共享且改動不大,其次Git專門用來管理代碼。

來自微信公眾號:編程社

程序員日常進階寶典,歡迎關注!


免責聲明!

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



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