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