亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

git與SVN版本控制優缺點區別是什么

發布時間:2022-04-22 16:31:18 來源:億速云 閱讀:352 作者:iii 欄目:開發技術

這篇文章主要講解了“git與SVN版本控制優缺點區別是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“git與SVN版本控制優缺點區別是什么”吧!

Git和SVN的區別

(1)SVN(集中式版本管理系統)

集中式的版本控制系統都有一個單一的集中管理的服務器,保存所有文件的修訂版本,而協同工作的人們都通過客戶端連到這臺服務器,取出最新的文件或者提交更新。

git與SVN版本控制優缺點區別是什么

Subversion屬于集中式版本控制系統。

  • 好處:

每個人都可以一定程度上看到項目中的其他人正在做些什么。

而管理員也可以輕松掌控每個開發者的權限。

  • 缺點:

中央服務器的單點故障。若是宕機一小時,那么在這一小時內,誰都無法提交更新、還原、對比等,也就無法協同工作。

如果中央服務器的磁盤發生故障,并且沒做過備份或者備份得不夠及時的話,還會有丟失數據的風險。最壞的情況是徹底丟失整個項目的所有歷史更改記錄,被客戶端提取出來的某些快照數據除外,但這樣的話依然是個問題,你不能保證所有的數據都已經有人提取出來。

Subversion原理上只關心文件內容的具體差異。每次記錄有哪些文件作了更新,以及都更新了哪些行的什么內容。

有很多人認為,集中式的版本控制系統在速度上和性能上是不足的。后來基于集中式的版本控制系統的不足,開發了分布式的版本控制系統。

  • Subversion的特點概括

每個版本庫有唯一的URL(官方地址),每個用戶都從這個地址獲取代碼和數據;

獲取代碼的更新,也只能連接到這個唯一的版本庫,同步以取得最新數據;

提交必須有網絡連接(非本地版本庫);

提交需要授權,如果沒有寫權限,提交會失敗;

提交并非每次都能夠成功。如果有其他人先于你提交,會提示“改動基于過時的版本,先更新再提交”… 諸如此類;

沖突解決是一個提交速度的競賽:手快者,先提交,平安無事;手慢者,后提交,可能遇到麻煩的沖突解決。

(2)Git(分布式版本管理系統)

如下圖所示:

git與SVN版本控制優缺點區別是什么

以Git為例:

  • Git是一個分布式的版本控制系統,和集中式的控制系統很大的一個差異是,分布式的版本控制系統的服務端和客戶端都有完整的一套版本庫。那脫離服務端,客戶端照樣可以管理版本的。并且查看歷史以及版本比較等相關操作,都不需要去訪問服務器,也就是說分布式的控制系統比集中式的控制系統更能提高版本管理的效率。

  • Git記錄版本歷史只關心文件數據的整體是否發生變化,Git 不保存文件內容前后變化的差異數據。
    所以Git每次存的都是項目的完整快照,需要的硬盤空間會相對大一點。
    (Git團隊對代碼做了極致的壓縮,最終需要的實際空間比SVN多不了太多,可是Git的回滾速度極快)。

  • 實際上,Git 更像是把變化的文件作快照后,記錄在一個微型的文件系統中。每次提交更新時,它會縱覽一遍所有文件的指紋信息,并對文件作一快照,然后保存一個指向這次快照的索引。為提高性能,若文件沒有變化,Git 不會再次保存,而只對上次保存的快照作一個連接。

  • 在分布式版本控制系統中,客戶端并不只提取最新版本的文件快照,而是把原始的代碼倉庫完整地鏡像下來。這么一來,任何一處協同工作用的服務器發生故障,事后都可以用任何一個鏡像出來的本地倉庫恢復。這類系統都可以指定和若干不同的遠端代碼倉庫進行交互。因此,你就可以在同一個項目中,分別和不同工作小組的人相互協作,你可以根據需要設定不同的協作流程。

  • 另外,因為Git在本地磁盤上就保存著所有有關當前項目的歷史更新,并且Git中的絕大多數操作都只需要訪問本地文件和資源,不用連網,所以處理起來速度飛快。用SVN的話,沒有網絡或者斷開VPN你就無法做任何事情。但用Git的話,就算你在飛機或者火車上,都可以非常愉快地頻繁提交更新,等到了有網絡的時候再上傳到遠程的鏡像倉庫。

2、SVN和Git的優缺點

(1)SVN優缺點

1)優點:

  • 管理方便,邏輯明確,符合一般人思維習慣。

  • 易于管理,集中式服務器更能保證安全性。

  • 代碼一致性非常高。

  • 適合開發人數不多的項目開發。

2)缺點:

  • 服務器壓力太大,數據庫容量暴增。

  • 必須具有網絡環境,單機無法實現版本控制。也就是如果不能連接到服務器上,基本上不可以工作,就不能進行提交,還原,對比等等操作。

  • 注意避免中央集中服務器單點故障。

  • 客戶機之間無法直接進行聯系。

  • 不適合開源開發(開發人數非常非常多)。但是一般集中式管理的有非常明確的權限管理機制(例如分支訪問限制),可以實現分層管理,從而很好的解決開發人數眾多的問題。

(2)Git優缺點

1)優點:

  • 適合分布式開發,強調個體。

  • 公共服務器壓力和數據量都不會太大。

  • 速度快、靈活。

  • 任意兩個開發者之間可以很容易的解決沖突。

  • 可以離線工作。

2)缺點:

  • 學習周期相對而言比較長。

  • 不符合常規思維。

  • 代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。

感謝各位的閱讀,以上就是“git與SVN版本控制優缺點區別是什么”的內容了,經過本文的學習后,相信大家對git與SVN版本控制優缺點區別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

象山县| 兴海县| 乐东| 姚安县| 宜兰县| 崇信县| 塔河县| 洛浦县| 金阳县| 张家港市| 高密市| 平远县| 桦南县| 繁峙县| 天柱县| 安溪县| 小金县| 朔州市| 东莞市| 尼玛县| 横山县| 海伦市| 滕州市| 巴南区| 都匀市| 韶山市| 潞西市| 甘孜县| 东源县| 玉山县| 确山县| 自贡市| 绍兴市| 望奎县| 车险| 贵州省| 江达县| 常德市| 莱西市| 井陉县| 宁南县|