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