SVN入門及配置使用_PHP教程

來源:互聯網
上載者:User
SVN,即Subversion,是一個自由開源的版本控制系統,可以將資料恢複到早期版本,或者檢查資料修改的曆史,這些資料可以是原始碼,也可以是其他類型的檔案。

在SVN出現之前,CVS是開源世界版本控制工具的事實標準,然而CVS存在一些固有的缺陷,並且修複這些缺陷需要耗費很大的精力,因此,SVN的發起者Brian Behlendorf和CollabNet決定重新編寫一個版本控制系統,保留CVS的基本思想,但要修正其中錯誤和不合理的特性。於是,SVN作為CVS的繼任者出現了。SVN的設計者們力圖通過兩方面的努力贏得CVS使用者的青睞:保持開源系統的設計以及介面風格與CVS儘可能類似,同時儘力彌補CVS許多顯著的缺陷。這些努力的結果使得從CVS遷移到SVN不需要作出重大的變革,因此越來越多的人選擇了SVN。
http://svnbook.red-bean.com
http://www.subversion.org.cn

目錄

一、用戶端的使用
 1.1 Linux系統下一般使用(Ubuntu)
 1.2 Windows系統下一般使用
 1.3 Linux下使用SVN+ssh認證(未找到相關資料@_@)
 1.4 Windows下使用SVN+ssh認證
二、伺服器端的配置
 2.1 Linux下的svnserve配置
 2.2 Windows下的svnserve配置
 2.3 Linux下的svnserve+ssh配置
 2.4 Windows下的svnserve+ssh配置(需使用Cygwin,略)
 2.5 Linux下基於APache的SVN伺服器配置
 2.6 Windows下基於APache的SVN伺服器配置
三、建立版本庫
 3.1 Linux下建立版本庫
 3.2 Windows下建立版本庫

大多數人都是從用戶端開始使用SVN,以下先介紹用戶端的使用。假設已經假設好了SVN伺服器,其檔案夾地址為http://domain/svn/trunk/myproject,使用者名稱為test,密碼為test。(如果伺服器端配置的是SVN,則使用svn://開頭的URL訪問;如果伺服器端配置的是SVN+SSH,則使用svn+ssh開頭的URL訪問)

一、用戶端的使用

1.1 Linux(Ubuntu)系統下一般使用

1)首先需要安裝svn用戶端,ubuntu下使用$sudo apt-get install subversion(其他請baigoogledu,餘同)

2)checkeout命令:第一次使用時使用checkout命令,把伺服器的目錄拷貝到本地的目前的目錄下,同時會建立一個隱藏檔案夾記錄版本資訊:
  [工作目錄]$svn checkout "http://domain/svn/trunk/myproject" --username test
然後輸入密碼

3)svn update命令:擷取伺服器上的最新版本
  [工作目錄]$svn update(除了第一次要加url和使用者名稱和密碼,之後系統會記住)

4)svn add命令:要把非版本控制的本地檔案添加到版本控制:
  [工作目錄]$svn add hello.c

5)svn commit命令:把本地檔案上傳到伺服器

[工作目錄]$svn commit(如果有新的檔案,要首先svn add)

1.2 Windows系統下一般使用

1)安裝用戶端:http://tortoisesvn.net/downloads

2)建立一個檔案夾(工作目錄),右擊選擇checkout,填寫URL和使用者名稱密碼

3)工作目錄右鍵update

4)工作目錄右鍵add

5)工作目錄右鍵commit

1.3 Linux下使用SVN+ssh認證(未找到相關資料@_@)

1.4 Windows下使用SVN+ssh認證

(參考ubuntu下架設svn伺服器及在windows建立svn+ssh客戶)

1.4.0 安裝TortoiseSVN、Puttygen、Pageant
  http://sourceforge.net/projects/tortoisesvn
  http://www.chiark.greenend.org.uk/~sgtatham/putty/

1.4.1 轉換私密金鑰格式
 1)將Linux下的檔案key拷貝到windows下,運行Puttygen;
2)選擇菜單conversions->Import Key;選擇檔案key,提示"Enter passphrase for key",輸入建立公私密金鑰對示使用的passphrase關鍵字;
3)選擇Parameters為“SSH-2 DSA”或“SSH-2 RSA”->Save private key->儲存檔案名稱為username>key.ppk。

1.4.2 建立TortoiseSVN與Pageant的關聯,並將私密金鑰加入Pageant:
1)滑鼠右鍵選擇TortoiseSVN->Settings->Network->SSH client,輸入:
 C:Program FilesTortoiseSVNinTortoisePlink.exe
2)滑鼠右鍵選擇TortoiseSVN->RepoBrowser 輸入URL:
  svn+ssh://@/usr/local/svn/trunk
3)運行Pageant,右鍵點擊螢幕右下角的表徵圖-〉Add Key,將私密金鑰檔案key.ppk加入。
——如果不想緩衝ssh密碼,則第8、9步不需要,只保留第二步,但每次check out、check in中每進入一個檔案夾都要輸入兩次密碼,煩死你:)

二、伺服器端的配置

Web伺服器部署可以有三種選擇,配置由簡單到複雜排列為

·svnserve

·svnserve over SSH

·Apache+mod_dav_svn模組

下面從最簡單的入手,介紹svnserve。

[更新]Windows下伺服器端的配置可以使用VisualSVN Server進行傻瓜化安裝。

官方網站:http://www.visualsvn.com/

參考連結:VisualSVN系列介紹(有詳細的安裝過程介紹,這裡就不轉述了)

2.1&2.2 配置svnserve

svnserve是一個輕型的伺服器,可以同用戶端通過在TCP/IP基礎上的自訂有狀態協議通訊,用戶端通過使用開頭為svn://或者svn+ssh://svnserve的URL來訪問一個svnserve伺服器。

2.1 Linux下的svnserve配置

2.1.0 同樣地,使用命令$sudo apt-get install subversion

2.1.1 svnserve作為獨立守護進程,監聽請求
  $svnserve -d
  $ #svnserve is now running, listening on port 3690
  ——可以使用--listen-port=[連接埠號碼]來指定連接埠,或者--listen-host=[主機名稱]來指定主機名稱
  假定已經建立一個版本庫位於/usr/local/repositories/project路徑(版本庫的建立稍後提及), 此時用戶端可以使用svn://[主機]/usr/local/repositories/project來進行訪問
  ——可以使用-r選項來限制只輸出指定路徑下的版本庫,從而使用戶端訪問更為簡潔:
  $svnserve -d -r /usr/local/repositories
  則用戶端只要使用svn://[主機]/project就可以訪問

2.1.2 通過inetd使用svnserve
  $svnserve -i
  ——此時svnserve會嘗試使用自訂協議通過stdin和stdout來與subversion用戶端通話,預設連接埠為3690。可以在/etc/services添加如下幾行:
  svn 3690/tcp #subversion
  svn 3690/udp #subversion
  ——如果是使用經典的類Unix的inetd守護進程,可以在/etc/inetd.conf添加如下行,則如果有客戶串連來到連接埠3690,inetd會產生一個svnserve進程來做服務
  svn stream tcp nowait svnowner /usr/bin/svnserve svnserve -i

2.1.3 設定svnserve的內建認證

http://www.bkjia.com/PHPjc/486270.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/486270.htmlTechArticleSVN,即Subversion,是一個自由開源的版本控制系統,可以將資料恢複到早期版本,或者檢查資料修改的曆史,這些資料可以是原始碼,也可以...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.