什么是svn和git?svn和git有什么區(qū)別?下面是關(guān)于svn和git的區(qū)別介紹。
1、什么是svn?
SVN是Subversion的簡(jiǎn)稱,是一個(gè)開放源代碼的版本控制系統(tǒng),支持大多數(shù)常見的操作系統(tǒng)。作為一個(gè)開源的版本控制系統(tǒng),Subversion管理著隨時(shí)間改變的數(shù)據(jù)。這些數(shù)據(jù)放置在一個(gè)中央資料檔案庫(repository)中。這個(gè)檔案庫很像一個(gè)普通的文件服務(wù)器,不過它會(huì)記住每一次文件的變動(dòng)。這樣你就可以把檔案恢復(fù)到舊的版本,或是瀏覽文件的變動(dòng)歷史。Subversion是一個(gè)通用的系統(tǒng),可用來管理任何類型的文件,其中包括了程序源碼。
2、什么是git?
Git是一款免費(fèi)、開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目
Git是一個(gè)開源的分布式版本控制系統(tǒng),用以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個(gè)開放源碼的版本控制軟件。
分布式相比于集中式的最大區(qū)別在于開發(fā)者可以提交到本地,每個(gè)開發(fā)者通過克隆(git clone),在本地機(jī)器上拷貝一個(gè)完整的Git倉庫。
3、svn和git的區(qū)別
首先兩者之間最核心的區(qū)別就是git屬于分布式控制系統(tǒng),SVN屬于集中式控制系統(tǒng)。簡(jiǎn)單來說前者就是以每一臺(tái)主機(jī)都當(dāng)成一臺(tái)服務(wù)器,而后者則是只有一臺(tái)服務(wù)器來維護(hù)和控制代碼。
搞清楚了原理,我們就能搞清楚應(yīng)用了。我個(gè)人覺得git的性能是完全優(yōu)于SVN的。因?yàn)橄啾容^SVN,git有如下好處:
1、如果一旦出現(xiàn)斷電,SVN里面的數(shù)據(jù)全部消失,但是git則不會(huì)。
2、使用SVN時(shí),必須聯(lián)網(wǎng),否則不能使用。但是git只要第一次將代碼下載到自己的主機(jī)上,以后就不用聯(lián)網(wǎng)也可以查看歷史記錄什么的了。
最后說一下應(yīng)用場(chǎng)景:以我們公司為例,SVN是專門用來維護(hù)文檔的,而git則是用來維護(hù)代碼的。
另外補(bǔ)充一點(diǎn):SVN和git的區(qū)別其實(shí)還是挺多的,比如說什么git沒有全局的版本號(hào),不過可能對(duì)于我來說目前只有這兩種情況能用到,其他的還沒有做過實(shí)驗(yàn),因此如果有哪位看官感興趣可以自己去嘗試。
以上就是有關(guān)svn和git的區(qū)別介紹。