集中式(SVN)和分布式(Git)版本控制系統的簡單比較


 

   集中式(SVN)  分布式(Git)
 是否有中央服務器  有。開發人員需要從中央服務器獲得最新版本的項目然后在本地開發,開發完推送給中央服務器。因此脫離服務器開發者是幾乎無法工作的  沒有中央服務器,開發人員本地都有 Local Repository
 網絡依賴    必須要聯網才能工作,而且對網絡的依賴性較強,如果推送的文件比較大而且網絡狀況欠佳,則提交文件的速度會受到很大的限制。  分布式在沒有網絡的情況下也可以執行commit、查看版本提交記錄、以及分支操作,在有網絡的情況下執行 push 到 Remote Repository。
 文件存儲格式   按照原始文件存儲,體積較大  按照元數據方式存儲,體積很小
 是否有版本號  有    沒有
分支操作的影響 

創建新的分支則所有的人都會擁有和你一樣的分支

 
分支操作不會影響其他開發人員
 提交  提交的文件會直接記錄到中央版本庫  提交是本地操作,需要執行push操作才會到主要版本庫

 

以 Git 和 SVN 為例,分布式和集中式版本控制系統的特點:

圖片來源:廖雪峰的官方網站

git

  • 適合分布式開發,強調個體。
  • 公共服務器壓力和數據量都不會太大。
  • 速度快、靈活。
  • 任意兩個開發者之間可以很容易的解決沖突。
  • 離線工作。
  • 資料少
  • 學習周期相對而言比較長。
  • 不符合常規思維。
  • 代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。

 

圖片來源:廖雪峰的官方網站

SVN

  • 管理方便,邏輯明確,符合一般人思維習慣。
  • 易於管理,集中式服務器更能保證安全性。
  • 代碼一致性非常高。
  • 適合開發人數不多的項目開發。

 

 


免責聲明!

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



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