git和svn哪個用的多 為什么還有那么多人用SVN?
為什么還有那么多人用SVN?讓我們從結(jié)果開始:Git在某些情況下比SVN好,但它不能取代SVN第一輪:Git是一個分布式版本控制系統(tǒng),它可以更適合沒有固定“服務(wù)器”的研發(fā)人員。Svn是一個具有固定服務(wù)
為什么還有那么多人用SVN?
讓我們從結(jié)果開始:Git在某些情況下比SVN好,但它不能取代SVN
第一輪:Git是一個分布式版本控制系統(tǒng),它可以更適合沒有固定“服務(wù)器”的研發(fā)人員。Svn是一個具有固定服務(wù)器的集中式版本控制系統(tǒng)。但我認(rèn)為,在某些情況下,分布式管理并不一定比集中式管理好,所以這一輪更為公平。
第2輪:[git的分支非常易于使用,而且非常強大。SVN的分支是一小塊雞排。SVN的分支是svncopy,它復(fù)制一個完整的項目。在這一輪中,GIT具有明顯的優(yōu)勢。
第三輪:
提交、更新或合并代碼時經(jīng)常報告錯誤。Git的提示非?!爸艿健保梢院芎玫亟鉀Q錯誤。SVN的提示有點不滿意。Git在這一輪中仍然有優(yōu)勢。
第4輪:
SVN對目錄具有良好的權(quán)限控制。它可以根據(jù)目錄進行更新和提交,這有時很有用。Git無法控制目錄的權(quán)限。SVN的優(yōu)勢在這一輪是顯而易見的。
例如:
我們公司的研發(fā)人員使用git,藝術(shù)和產(chǎn)品使用SVN。藝術(shù)和產(chǎn)品通常將需求和資源放入SVN,SVN可以根據(jù)目錄而不是整個項目進行下載。而SVN在windows系統(tǒng)中有一個非常著名的烏龜SVN軟件,有一個中文版本,使用起來非常方便。
git對比svn有什么優(yōu)勢?
Subversion是一個集中式數(shù)據(jù)倉庫
雖然GIT分布式數(shù)據(jù)倉庫的明顯優(yōu)勢,如高速和多副本,吸引了很多人的喜愛,但在很多情況下,集中式數(shù)據(jù)倉庫更適合。例如,如果您有一些只允許少數(shù)人訪問的核心代碼,則不希望將其放在GIT中。許多企業(yè)集中管理他們的代碼。我猜所有(重要的)政府項目都使用集中數(shù)據(jù)倉庫的版本控制系統(tǒng)。
顛覆的概念與傳統(tǒng)思維是一致的,這意味著很多人(特別是經(jīng)理或老板)都有理解版本號的習(xí)慣,把開發(fā)視為一條按時間線性發(fā)展的軌跡,這在他們的頭腦中根深蒂固。這不是借口。Git的隨機性不容易理解。你可能已經(jīng)注意到,任何一本關(guān)于git的書都會告訴你要拋棄頭腦中所有的傳統(tǒng)觀念,在第一章的第一節(jié)中重新認(rèn)識它們。
Subversion只提供一種方法,沒有第二選擇
SVN是一個版本控制系統(tǒng),它只提供一種方法來實現(xiàn)這一點,每個人都使用相同的方法。就是這樣。這使得您可以輕松地將代碼從SVN遷移到其他集中管理的vc或其他集中管理的vc。Git不僅僅是一個版本控制系統(tǒng)——它實際上是一個文件系統(tǒng),它有很多知識來支持如何在不同的環(huán)境中構(gòu)建代碼倉庫——而且沒有統(tǒng)一的標(biāo)準(zhǔn)。很難選擇合適的拓?fù)浣Y(jié)構(gòu)。
其他優(yōu)點:[SVN支持空目錄
SVN有更好的windows平臺支持
SVN可以簽出/克隆子樹
SVN支持權(quán)限訪問控制SVN鎖在處理難以合并的文件時非常有用
SVN支持二進制文件,這使得處理大文件更容易(你不需要復(fù)制舊版本)
提交文件相對簡單,因為沒有拉/推操作,本地修改通過SVN更新自動執(zhí)行同步代碼的功能。
-------------
Git目前越來越受關(guān)注,它有哪些優(yōu)點呢?
我有七年的編程經(jīng)驗,了解互聯(lián)網(wǎng)和編程的相關(guān)知識,歡迎關(guān)注我的標(biāo)題。
與SVN相比,Git是分布式的。Svn基于修訂版,應(yīng)提交給中央服務(wù)器。Git是分布式的,每臺有代碼權(quán)限的機器都是一臺服務(wù)器。簽出代碼后,所有記錄都在本地,本地提交和分支管理可以直接提交到本地,無需網(wǎng)絡(luò)支持。只有在與遠程服務(wù)器同步時才需要網(wǎng)絡(luò)。
另外,GIT代碼更安全,即使遠程服務(wù)器損壞,任何有代碼的機器都有所有記錄,不會造成歷史記錄的丟失。
Git非常方便進行提交和分支。任何開發(fā)人員都可以在本地創(chuàng)建分支并在本地提交它們。同時,代碼合并非??焖俸头奖?。SVN需要通過一個復(fù)雜的算法來重放在共同祖先之前的所有修改,以完成合并操作。
Git用于代碼管理網(wǎng)站,如GitHub和oschina。開發(fā)人員學(xué)習(xí)和參與開源非常方便。
Git使用命令行非常方便。它還使用60多個高頻命令,操作快捷靈活。。所以你需要知道你需要什么來快速適應(yīng)不同的公司和團隊。
希望對您有所幫助,也歡迎留言討論。