Svn簡(jiǎn)介
Subversion簡(jiǎn)稱svn是一個(gè)自由/開源的版本控制系統(tǒng)。也就是說,在Subversion管理下,文件和目錄可以超越時(shí)空。也就是Subversion允許你數(shù)據(jù)恢復(fù)到早期版本,或者是檢查數(shù)據(jù)修改的歷史。正因?yàn)槿绱耍S多人將版本控制系統(tǒng)當(dāng)作一種神奇的“時(shí)間機(jī)器”。
Subversion的版本庫(kù)可以通過網(wǎng)絡(luò)訪問,從而使用戶可以在不同的電腦上進(jìn)行操作。從某種程度上來說,允許用戶在各自的空間里修改和管理同一組數(shù)據(jù)可以促進(jìn)團(tuán)隊(duì)協(xié)作。因?yàn)樾薷牟辉偈菃尉€進(jìn)行,開發(fā)速度會(huì)更快。此外,由于所有的工作都已版本化,也就不必?fù)?dān)心由于錯(cuò)誤的更改而影響軟件質(zhì)量—如果出現(xiàn)不正確的更改,只要撤銷那一次更改操作即可。
某些版本控制系統(tǒng)本身也是軟件配置管理(SCM)系統(tǒng),這種系統(tǒng)經(jīng)過精巧的設(shè)計(jì),專門用來管理源代碼樹,并且具備許多與軟件開發(fā)有關(guān)的特性—比如,對(duì)編程語(yǔ)言的支持,或者提供程序構(gòu)建工具。不過Subversion并不是這樣的系統(tǒng)。它是一個(gè)通用系統(tǒng),可以管理任何類型的文件集。對(duì)你來說,這些文件這可能是源程序—而對(duì)別人,則可能是一個(gè)貨物清單或者是數(shù)字電影。
一個(gè)典型的客戶/服務(wù)器系統(tǒng):
Subversion版本庫(kù)的特別之處在于,它會(huì)記錄每一次改變:每個(gè)文件的改變,甚至是目錄樹本身的改變,例如文件和目錄的添加、刪除和重新組織。
一般情況下,客戶端從版本庫(kù)中獲取的數(shù)據(jù)是文件系統(tǒng)樹中的最新數(shù)據(jù)。但是客戶端也具備查看文件系統(tǒng)樹以前任何一個(gè)狀態(tài)的能力。舉個(gè)例子,客戶端有時(shí)會(huì)對(duì)一些歷史性問題感興趣,比如“上星期三時(shí)的目錄結(jié)構(gòu)是什么樣的?”或者“誰最后一個(gè)修改了這個(gè)文件,都修改了什么?”這些都是版本控制系統(tǒng)的核心問題:設(shè)計(jì)用來記錄和跟蹤數(shù)據(jù)變化的系統(tǒng)。
服務(wù)器端軟件安裝
這里選擇用VisualSVN-Server-2.1.7.msi搭建svn版本庫(kù)服務(wù)器。
下載地址:http://www.visualsvn.com/server/download/
一直默認(rèn)進(jìn)行安裝:
(選擇:VisualSVN Server and management Console)
(Location:指的是軟件安裝的位置。Repositories:是需要svn控制的源碼存放的位置。端口保持默認(rèn):443)
(Anthentication:身份驗(yàn)證模式,這里注意,如果選用第二個(gè)User Windows authentication,可能需要域環(huán)境。我選用的第一個(gè)。)
服務(wù)器配置運(yùn)行
新建用戶
右擊左側(cè)的Users,選擇新建---User ,新建用戶
新建repository(版本庫(kù))
選中 Repositories,在右側(cè)的空白區(qū)域,選擇新建---Repository,輸入名字e-test,這樣就創(chuàng)建了一個(gè)項(xiàng)目
url是:https://sihao-PC/svn/e-test
sihao-PC是我的電腦名,e-test是我的項(xiàng)目名。中間的svn是默認(rèn)就有的,注意由于我沒有加入域,所以在客戶端獲取的時(shí)候要把電腦名換成它的ip地址
賦予用戶權(quán)限
右擊e-test,所有任務(wù)--Manage Security 或者properties
把新建的用戶添加進(jìn)去并賦值權(quán)限,如下圖:
這樣就完成了服務(wù)器所有內(nèi)容。
(參考文檔:http://hi.baidu.com/sygwin/blog/item/7f2f1217168f0d144a90a793.html)
客戶端軟件介紹
客戶端可以選擇TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi
下載地址:http://tortoisesvn.net/downloads.html
也可以用eclipse的svn插件:Subclipse
下載地址:http://subclipse.tigris.org/
本文主要介紹用eclipse插件的配置與使用
客戶端軟件Subclipse的安裝
J-hi標(biāo)準(zhǔn)完全版本已經(jīng)配置好了svn插件,如果沒有的話可以用以下方法安裝:
Eclipse的使用者可以通過Eclipse的插件自動(dòng)下載和更新功能來安裝這個(gè)插件,在Eclipse的菜單中選擇Help->Software Updates->Find and Install-> Search for new features to install ->New Remote Site。URL中就輸入http://subclipse.tigris.org/update,Eclipse就會(huì)自已安裝上了。
安裝完成后,在Eclipse的plugins中就會(huì)多了5個(gè)包,命名為org.tigris.subversion.*的都應(yīng)該是了。打開Eclipse,window->show view窗口中多了一個(gè)SVN文件夾,到此就證明svn插件成功的安裝上了。具體的使用方法,在Eclipse的Help中有詳細(xì)的幫助Subclipse - Subversion Eclipse Plugin,教你一步一步的使用SVN的客戶端了。如果你對(duì)subversion想進(jìn)行深入的了解,那么看看help中的Version Control with Subversion一定有所收獲。據(jù)觀察,這份文檔和sbuversion安裝文件中提供的官方文檔一樣,這里看起來就更舒服些了。
客戶端配置
打開svn視圖
安裝完畢后即可打開svn視圖
或者顯示視圖:
更快捷的方式是在右上角,點(diǎn)擊svn視圖圖標(biāo):
新建資源庫(kù)
輸入url的地址,需要將計(jì)算機(jī)名轉(zhuǎn)換成ip地址:
選擇永久接受:
輸入用戶名和密碼:
如果一切正常即創(chuàng)建了一個(gè)資源庫(kù):
可以看到了服務(wù)器上的目錄結(jié)構(gòu)。
SVN服務(wù)的使用
共享項(xiàng)目
首先需要將現(xiàn)有的項(xiàng)目共享到服務(wù)器上:
選擇svn,下一步:
選擇建好的資源庫(kù),也可以在這里建資源庫(kù):
設(shè)置文件夾名稱:
點(diǎn)擊完成,及完成了項(xiàng)目的共享與版本庫(kù)連接。
接下來即可寫入項(xiàng)目第一個(gè)版本。
運(yùn)行到98%的時(shí)候可能會(huì)停滯很長(zhǎng)時(shí)間,耐心等候即可。
數(shù)據(jù)提交
這是可以看到小組菜單里的item已經(jīng)有變化了。
修改程序后,即可提交:
可以看到對(duì)程序的改動(dòng)已經(jīng)被記錄并提示,是否更新到版本庫(kù)。
點(diǎn)擊確定即可將本地?cái)?shù)據(jù)提交到服務(wù)器版本庫(kù)。
數(shù)據(jù)下載更新
在小組中點(diǎn)擊更新即可將服務(wù)器版本庫(kù)中的版本下載到本地。
每次開始工作之前從版本庫(kù)中下載更新,階段工作完成并測(cè)試無誤之后提交。會(huì)讓團(tuán)隊(duì)的合作開發(fā)變得方便可控。
參考資源:http://www.uml.org.cn/pzgl/200904106.asp
刪除或更改項(xiàng)目的資源庫(kù)位置
若要?jiǎng)h除svn服務(wù)的資源庫(kù),需要先從項(xiàng)目中刪除svn信息,可在小組中刪除版本共享鏈接先:
刪除版本共享鏈接
刪除資源庫(kù)位置
回到svn視圖中,廢棄位置:
這樣就使開發(fā)的源程序斷開了與版本共享庫(kù)的鏈接,即退出了svn服務(wù)。
更改資源庫(kù)位置只用新建資源庫(kù)并配置即可。
Subclipse的卸載
卸載的方法也很簡(jiǎn)單,也是點(diǎn)擊 Help => Software Updates => Manage Configuration
按上圖操作就可以卸載了。
注:該文檔由J-Hi愛好者"尋找本拉登"提供,他的QQ號(hào)為382600911,歡迎大家與他在技術(shù)上多多交流