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