svn簡介:SVN(subverion)是一款開源的代碼版本管理工具。
svn伺服器: 有兩種運作方式,獨立伺服器和借助apache。兩種方式各有利弊。
存儲版本資料也有兩種方式,BDB和FSFS。BDB方式在伺服器中斷時,可能鎖住資料,是以FSFS的方式更安全一些。
svn用戶端: 用戶端有兩類:websvn等基于web的和Tortoise為代表的用戶端軟體。前者需要web伺服器支援,後者需在本地安裝用戶端。
svn插件: 一些插件可以提供強大的功能,不用在指令行送出了。
一、安裝svn 用戶端
TortoiseSVN下載下傳:http://tortoisesvn.net/downloads.html
如果出現以下問題:

可以下載下傳相關資源:
http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=8483
安裝成功後可繼續安裝,一直點下一步完成安裝。
二、svn使用
svn有很多功能,下面介紹一些功能的使用
(1) 下載下傳代碼
1、選擇一個空檔案夾,右鍵點選它,選擇TortoiseSVN菜單下的Export。。。
2、接着讓你輸入url,url是項目的SVN位址,如下圖所示:
其中的選項不要修改,Omitexternals不要勾選,HEAD revision選中表示最新的版本點選OK即可将代碼導出到此檔案夾中。
(2) 上傳代碼
1、 選中需要更新的檔案夾,點選右鍵,選擇TortoiseSVN菜單下的Add
如下圖:
2、 此時svn用戶端會自動識别已經變更過的代碼,可根據需要自己選擇是否上傳,點選OK會顯示所有檔案已Add成功。如下圖:
3、 傳回第一步的目錄,點選右鍵,選擇“SVN Commit”,如下圖:
在彈出的對話框中輸入此次變更的備注。
4、 點選ok,此時SVN将代碼上傳到遠端服務端。再次回到第一步的目錄,我們發現檔案夾辨別變為綠色小勾,表示已上傳成功。如下圖:
(3) SVNcheckout指令
是将SVN伺服器的上的項目檔案下載下傳到本地目錄,尤其是我們第一次從SVN上拉取版本和分支的時候會經常用到。用法和上面講的下載下傳代碼的Export相似。
Eclipse中的SVN
安裝:
方法1、先下載下傳好插件:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240
将插件包features和plugins目錄中的檔案分别複制到Eclipse安裝目錄的features和plugins中。然後重新開機Eclipse就好了
方法2:、通過Eclispe安裝,如下圖:
點選右上方Add按鈕,接着輸入http://sbuclipse.tigris.org/update_1.8.x,如圖:
接着把vision勾上 如圖:
接着一直點next就能安裝好。
使用:
1、 共享項目(把本地的項目共享到subversion伺服器上)
打開Eclipse,假設要共享Test是項目名稱
右鍵項目Test->Team->ShareProject->Svn,
單庫模式下url填寫svn://svn server address/,多庫模式下url填寫svn://svn server address/Repository1,其中Repository1是庫的名稱
next直到finish,proj1就被共享到svn伺服器上了,但是代碼并沒上傳,還需要commit一次
右鍵項目Test,team->commit,項目内容就被上傳到svn伺服器了
2、 簽出項目(把svn伺服器上的項目下載下傳的到本地)
打開Eclipse
window->open perspective->svn repositoryexplorer(如果沒有在other裡選擇)
在左邊空白處右鍵->new->repository location
單庫模式下url填寫svn://svnserveraddress/,多庫模式下url填寫svn://svnserveraddress/Repository1(同步驟二)
右鍵Test->check out
next直到finish,該項目就被簽出到本地,切換到java視圖就能看到該項目了
控制台 svn
常用的指令
svnhelp
可以檢視目前svn支援哪些svn指令
如果想檢視具體某個指令,輸入svn help 指令名 如 svn help checkout
checkout
指的是從svn伺服器上把代碼下載下傳到本地,要指明伺服器位址
先進如到一個目錄(你要下載下傳到的本地目錄),然後執行 svncheckout https://xxxx/out 如果是第一次運作,需要輸入使用者名和密碼
update
進入到你要更新的目錄,然後輸入svn update,即可完成更新操作。
add上傳代碼或檔案到伺服器
運作時要確定有這個檔案,否則報錯
用法為 svn add myfile.txt
commit
送出代碼到伺服器上,和update類似,但需要輸入一個log
用法為 svn commit –m “日志資訊”
cleanup
清理指令,能清理某個目錄下一些執行失敗的事務,用法和update類似
log
檢視日志,可以檢視某個目錄或檔案的日志資訊,用法和add類似