SVN是什麼

Dec 24, 2018 am 11:24 AM
svn

SVN是什麼

什麼是SVN(Subversion)?

在2010年之前,Apache Subversion(簡稱SVN)是最受歡迎的版本控制系統之一。現在,SVN的受歡迎程度正在下降,但仍有數百萬行儲存在其中。它甚至繼續得到積極維護,儘管是一個小型的開源社群。

SVN的誕生

在1990年代後期,Concurrent Versions System(或CVS)被廣泛用於開源和商業專案的軟體開發。然而,CVS開始受到批評。它對第三方工具的支援很差,絕對不支援http / https / ssh協定。它很快就變得不合格,需要一個更好的系統。

2000年,SVN的發展開始認真。目標是為CVS創建相容的後繼者。

儘管SVN開發始於2000年,但版本1.0直到2004年2月才發布。它模仿了CVS中的許多功能,但它也引入了CVS缺失的新功能。使用者現在可以執行原子命令,並能夠重命名和移動版本化檔案。

SVN於2009年11月成為Apache項目,當時它被Apache Incubator接受。在SVN被引入世界之後,CVS的採用逐漸消失。

相關文章推薦
1.Git和Svn的差異是什麼
# 2.Svn工具怎麼安裝
相關影片推薦

1.SVN影片教學(傳智播客)

Subversion如何運作?

SVN最初被設計為命令列介面。這意味著您將打開終端並鍵入文字命令。

要使Subversion工作,SVN設定需要兩個主要元素:

1.該伺服器,它具有一切來源檔案的所有版本

2.一個檔案的本地副本,這是您的計算機上。

您電腦上的檔案稱為工作檔案。這些是每個使用者進行編輯的文件。然後,用戶將其變更提交到SVN伺服器,該伺服器也稱為儲存庫

每次使用者提交更改時,SVN都會透過建立新版本來管理和記錄它。與大多數版本控制系統一樣,使用者通常使用最新版本。但是如果需要舊版本,則可以還原到早期版本。

什麼是SVN伺服器? (什麼是Subversion伺服器?)

SVN伺服器包含所有來源檔案以及檔案的所有版本。在SVN領域,伺服器稱為儲存庫。因此,SVN伺服器和SVN儲存庫是一回事。

檔案的本機副本(儲存在您的電腦上)稱為工作副本

SVN是分散式還是集中式?

版本控制系統大致可分為兩類:分散式版本控制系統(DVCS)集中式版本控制系統(CVCS)

SVN是一個集中式版本控制系統。

集中式版本控制系統意味著版本歷史儲存在中央伺服器中。當開發人員想要對某些文件進行更改時,他們會將文件從該中央儲存庫拉到自己的電腦上。在開發人員進行更改後,他們會將更改的檔案傳回中央儲存庫。

使用Helix Core進行可擴充的集中式版本控制系統。或使用Helix4Git進行基於Git的分散式工作流程。

SVN面臨的挑戰

SVN有一個繁瑣的分支模型

關於SVN最常見的抱怨是它繁瑣的分支模型。分支允許您同時處理程式碼的多個版本。在SVN中,分支被建立為儲存庫中的目錄。許多開發人員不喜歡這種目錄結構。但挑戰不止於此。

SVN 1.6版引進了一個名為樹衝突的概念。樹衝突是由目錄結構的變化引起的衝突,它們經常發生。由於SVN不允許您在發生樹衝突時提交更改,因此這增加了在SVN中實施分支策略的複雜性。

SVN要求您連接到中央回購

為了提交更改,SVN要求您連接到中央儲存庫。

使用SVN而不與中央回購連結是毫無意義的。例如,如果您進行離線編碼 - 例如在航班期間 - 在恢復連線之前,SVN不允許您提交中央儲存庫。

SVN要求您手動解決衝突

合併是開發人員經常抱怨SVN的另一個大問題。如果您正在使用歷史記錄來進行一組變更並進行提交,則會進行另一項變更(即線性)並提交,合併將很容易。

當您有兩個或更多開發人員在相同的程式碼庫上工作並且您需要合併時,事情會變得複雜。在這種情況下,SVN失敗,開發人員需要手動解決衝突,這會浪費數小時的開發人員時間。

為何使用SVN

幾年前,Git和其他商業版控制系統已經超越了SVN。但SVN仍有兩個原因:成本和慣性

成本: SVN是開源的,這意味著它是「免費的」。

慣性:一旦建置了大型程式碼庫,就很難切換VCS。 SVN自2004年以來一直存在,採用它的組織擁有數百萬行程式碼。

以上是SVN是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
PHP開發中如何使用SVN進行版本控制 PHP開發中如何使用SVN進行版本控制 Jun 27, 2023 pm 01:39 PM

在PHP開發中進行版本控制是很常見的操作,其中最常用的工具就是SVN(Subversion)。它可以方便地管理程式碼的歷史版本以及協同開發過程中的程式碼更新。以下將介紹如何在PHP開發中使用SVN進行版本控制。一、安裝SVN客戶端和服務端首先需要安裝SVN客戶端和服務端。 SVN客戶端可以在SVN官網上下載對應的版本,安裝即可,而服務端則需要自行搭建,具體方法可以

Java SVN:程式碼倉庫的守護者,確保程式碼穩定性 Java SVN:程式碼倉庫的守護者,確保程式碼穩定性 Mar 09, 2024 am 09:20 AM

SVN簡介SVN(Subversion)是一種集中式版本控制系統,用於管理和維護程式碼庫。它允許多個開發者同時協作開發程式碼,並提供對程式碼歷史修改的完整記錄。透過使用SVN,開發者可以:保障程式碼穩定性,避免程式碼遺失和損壞。追蹤程式碼修改歷史,輕鬆回滾到之前的版本。協同開發,多個開發者同時修改程式碼而不會衝突。 SVN基本操作要使用SVN,需要安裝SVN客戶端,例如TortoiseSVN或SublimeMerge。然後,您可以按照以下步驟執行基本操作:1.建立程式碼庫svnmkdirHttp://exampl

詳解如何安裝和設定EclipseSVN插件 詳解如何安裝和設定EclipseSVN插件 Jan 28, 2024 am 08:42 AM

EclipseSVN插件的安裝和設定方法詳解Eclipse是一個廣泛使用的整合開發環境(IDE),它支援許多不同的插件來擴展其功能。其中之一是EclipseSVN插件,它使開發人員能夠與Subversion版本控制系統進行互動。本文將詳細介紹如何安裝和設定EclipseSVN插件,並提供具體的程式碼範例。第一步:安裝EclipseSVN外掛程式開啟Eclipse

用vimdiff取代svn diff:比較程式碼的工具 用vimdiff取代svn diff:比較程式碼的工具 Jan 09, 2024 pm 07:54 PM

在linux下,直接使用svndiff指令查看程式碼的修改是很吃力的,於是在網路上搜尋了一個比較好的解決方案,就是讓vimdiff作為svndiff的檢視程式碼工具,尤其對於習慣用vim的人來說真的是很方便。當使用svndiff指令比較某個檔案的修改前後時,例如執行下列指令:$svndiff-r4420ngx_http_limit_req_module.c那麼實際上會向預設的diff程式傳送如下指令:-u-Lngx_http_limit_req_module.c(revision4420)-Lngx_

svn與vss的差別是什麼 svn與vss的差別是什麼 Jun 21, 2022 am 11:23 AM

差別:1、vss是微軟開發的,是收費的,而svn是開源免費的;2、vss必須有客戶端,而svn可以用客戶端,也可以用命令列模式,還可以用網頁方式只讀存取;3、vss只支援windows系統,而svn支援windows和linux系統;4、vss是「鎖定-編輯-解鎖」模式,svn預設是「修改-衝突-合併」模式;5、vss的版本號對應的是單一文件,svn的版本號碼對應的是整個版本庫。

SVN在CentOS上的安裝及命令列安裝 SVN在CentOS上的安裝及命令列安裝 Feb 13, 2024 am 11:24 AM

在CentOS上安裝SVN是非常常見的操作,它是一個功能強大的版本控制系統,可以用於管理和追蹤軟體開發過程中的變更,本文將詳細介紹如何在CentOS上安裝SVN,並提供一些常用的命令列安裝方法。在CentOS上安裝SVN有多種方法,以下將介紹兩種常用的安裝方式。 1.開啟終端,以root使用者身分登入。 2.執行以下命令更新系統軟體包清單:```yumupdate3.執行以下命令安裝SVN:yuminstallsubversion4.安裝完成後,可以透過執行以下命令驗證SVN是否成功安裝:svn--v

Linux開發者的必備技能:簡單掌握SVN版本控制 Linux開發者的必備技能:簡單掌握SVN版本控制 Jan 26, 2024 pm 09:54 PM

身為Linux開發人員,往往需要運用SVN控制專案版本。對於優秀開發者而言,熟知如何查閱SVN版本無疑是必備技能之一。今日,筆者想藉此機會和各位分享自己的心得,希望能助您更能掌握這項實用技巧。 1.安裝SVN命令列工具請先在Linux環境中安裝SVN命令列工具哦!請撥通終端,然後穩健地輸入下面這條指令來完成安裝吧:```尊敬的用戶,請執行sudoapt-getinstallsubversion以安裝Subversion。 2.連接到SVN伺服器安裝完畢後,我們需要連接到SVN伺服器。輸入以下命令:

PHP入門指南:SVN版本管理 PHP入門指南:SVN版本管理 May 20, 2023 am 08:29 AM

作為常用的伺服器端腳本語言,PHP憑藉其開源、跨平台的優勢,被廣泛應用於Web開發領域。而在多人協作的開發中,版本控制是一個不可或缺的工具,它可以有效地管理原始碼的修改與更新,避免因團隊成員之間程式碼不同步而造成的衝突。而SVN作為一款流行的版本控制工具,在PHP開發的應用也十分廣泛。本文將為大家介紹PHP開發中的SVN版本控制的基礎知識,包括SVN的安

See all articles