SVN和git的區別


最近在學習使用SVN,於是就產生了一個問題,SVN和git到底有什么區別?我參考了一些網上的資料,做了一個簡單的總結。

  一、從原理方面說一下SVN和git的區別

  二、從應用方面說一下SVN和git的區別

  1、從原理方面說一下SVN和git的區別

  首先兩者之間最核心的區別就是git屬於分布式控制系統,SVN屬於集中式控制系統。簡單來說前者就是以每一台主機都當成一台服務器,而后者則是只有一台服務器來維護和控制代碼。其兩者區別如圖所示。

  如圖所示

 

 

 如圖所示,SVN的管理方法是一台主服務器管理所有主機,這樣所有代碼全部傳輸到服務器上統一管理。而git采用單個主機管單個主機的方法,即主機2將主機1中所有的信息和內容拷貝到自己的主機下,而主機3,主機4以此類推。

      2、從應用方面說一下SVN和git的區別

  搞清楚了原理,我們就能搞清楚應用了。我個人覺得git的性能是完全優於SVN的。因為相比較SVN,git有如下好處:

  1、如果一旦出現斷電,SVN里面的數據全部消失,但是git則不會。

  2、使用SVN時,必須聯網,否則不能使用。但是git只要第一次將代碼下載到自己的主機上,以后就不用聯網也可以查看歷史記錄什么的了。

  最后說一下應用場景:以我們公司為例,SVN是專門用來維護文檔的,而git則是用來維護代碼的。

  另外補充一點:SVN和git的區別其實還是挺多的,比如說什么git沒有全局的版本號,不過可能對於我來說目前只有這兩種情況能用到,其他的還沒有做過實驗,因此如果有哪位看官感興趣可以自己去嘗試。

  好,就寫道這里吧,祝願大家代碼永無bug。

 


免責聲明!

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



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