SVN簡易使用手冊專家推薦
本節(jié)和大家一起學(xué)習(xí)一下SVN簡易使用手冊,隨著SVN的快速發(fā)展,版本更新了多個(gè),用途也越來越廣,本節(jié)就介紹一下SVN如何使用,歡迎大家一起來學(xué)習(xí)SVN簡易使用手冊。
Subversion是一個(gè)免費(fèi)的開源的版本管理系統(tǒng),它是作為CVS(ConcurrentVersionsSystem)的取代品出現(xiàn)的。本文簡單介紹了Subversion在Fedora上的安裝過程及其基本概念和使用方法。您可以到O'Reilly出版的開源書籍VersionControlwithSubversion的主頁在線閱讀(中、英文版本都有),以獲取更多信息。
1.在Fedora上安裝Subversion
首先看一下SVN簡易使用手冊中介紹如何在Fedora上安裝Subversion。
[aaronwong@localhost~]$sudoyum-yinstallsubversion
[aaronwong@localhost~]$rpm-qlsubversion//上面的命令可查詢subversion軟件包在系統(tǒng)上所安裝的文件列表
[aaronwong@localhost~]$sudoyum-yinstallmod_dav_svn//mod_dav_svn不是必須安裝的,它是ApacheHTTPServer的一個(gè)插件,你本地倉庫(repository)的文件必須通過它才能在網(wǎng)絡(luò)上與別人共享。//subversion的組件列表點(diǎn)此查看。
[aaronwong@localhost~]$svn--version
svn,版本1.4.3(r23084)
編譯于Mar232007,09:29:55
版權(quán)所有(C)2000-2007CollabNet。
Subversion是開放源代碼軟件,請參閱http://subversion.tigris.org/此產(chǎn)品包含由CollabNet(http://www.Collab.Net/)開發(fā)的軟件。
可使用以下的倉庫存取(RA)模塊:
*ra_dav:通過WebDAV(DeltaV)協(xié)議訪問倉庫的模塊。
-處理“http”方案
-處理“https”方案
*ra_svn:使用svn網(wǎng)絡(luò)協(xié)議訪問倉庫的模塊。
-處理“svn”方案
*ra_local:訪問本地磁盤的倉庫模塊。
-處理“file”方案
2.使用Subversion管理本地project
SVN簡易使用手冊再來講解一下如何使用Subversion管理本地project。作為程序開發(fā)人員,我們沒有必要了解Subversion的所有特性的方方面面,我們的目的是使用它來對我們的project進(jìn)行方便的簡單的版本管理,因此,強(qiáng)烈推薦閱讀SubversionQuick-StartGuid和BasicUsage。以下是筆者參照上述Guide進(jìn)行一個(gè)簡單的本地project的版本管理的示例。假定工程名為hello。
(1)建立本地工程hello的subversion倉庫
Subversion把工程的各個(gè)版本的數(shù)據(jù)集中放在一個(gè)倉庫(repository)中。假定我們要建立一個(gè)本地工程,叫做hello,為了使用subversion對它進(jìn)行版本管理,首先要為該工程建立一個(gè)倉庫。
[aaronwong@localhost~]$svnadmincreate.subversion/repos/hello//subversion安裝后會(huì)生成一個(gè)~/.subversion目錄,這里,我們將工程hello的數(shù)據(jù)倉庫建立在~/.subversion/repos/hello目錄。
[aaronwong@localhost~]$ls-p.subversion/repos/hello/
conf/dav/db/formathooks/locks/README.txt
(2)按照subversion的要求組建本地工程hello的工作目錄
假定工程hello的頂層目錄為~/projects/hello(這里~代表/home/aaronwong/),則應(yīng)如下組建工程的工作目錄:
~/projects/hello/branches
~/projects/hello/tags
~/projects/hello/trunk/
hello.c
//trunk目錄是實(shí)際上的工程頂層目錄,工程中的所有文件和文件夾都在該目錄下組織。
[aaronwong@localhost~]$cdprojects/hello/
[aaronwong@localhosthello]$ls-p
branches/tags/trunk/
[aaronwong@localhosthello]$cattrunk/hello.c
//Thisisaoriginalversion.
#include<stdio.h>
intmain()
{printf("Helloworld!\n");}
(3)將本地工程hello導(dǎo)入本地的Subversion的工程倉庫
由于是首次導(dǎo)入,因此要加信息-m"initialimport"。
[aaronwong@localhosttrunk]$svnimport~/projects/hello/file:///home/aaronwong/.subversion/repos/hello/-m"initialimprot"
新增/home/aaronwong/projects/hello/trunk
新增/home/aaronwong/projects/hello/trunk/hello.c
新增/home/aaronwong/projects/hello/branches
新增/home/aaronwong/projects/hello/tags
提交后的版本為1。
注意,完成導(dǎo)入后,原目錄~/projects/hello并不轉(zhuǎn)換為“工作副本(workingcopy)”,而且該項(xiàng)目已經(jīng)轉(zhuǎn)由該倉庫接管,即該倉庫中已經(jīng)包含了首次導(dǎo)入的工程的所有信息,與源目錄~/project/hello再無任何關(guān)系,我們完全可以刪除這一目錄而不必?fù)?dān)心丟失工程項(xiàng)目數(shù)據(jù)。注意,如果源目錄并不是一個(gè)“工作副本”,那么就無法用svn進(jìn)行管理,在其中所作的任何變動(dòng)都無法提交到倉庫。
要用subversion對工程進(jìn)行版本管理,那么工程項(xiàng)目的開發(fā)必須在一個(gè)“工作副本”中進(jìn)行,即首先要從倉庫獲取一個(gè)“工作副本”。請期待下節(jié)關(guān)于SVN簡易使用手冊介紹。
【編輯推薦】