前一陣子項目開發的時候用到版本管理,以前用的是VSS,現在準備用一下SVN,摸索了一陣子,大概搞清了怎么配置和使用。與VSS相比,我個人覺得SVN使用起來方便些。
首先是軟件的安裝,我們這里要用到兩個軟件,一個是服務器端軟件subversion,一個是客戶端TortoiseSVN。兩個都是免費軟件。下載的地址在網上有很多地方介紹,但對可憐的教育網或沒有上國際網的同胞來說,那是一個比較困難的事實。因為網上給出的地址絕大部分是軟件的官方網址,是國外網。而在國外,本人幾乎很難搜到順利下載的地址。直到利用迅雷搜索,才順利解決軟件下載問題。服務器端和客戶端版本理論上應該配套,但客戶端版本比服務器端新也是沒問題的。
服務器軟件可能是不需要安裝的,那就更好??蛻舳藨撌菍儆诎惭b形式。如果不懂無需安裝的軟件要進行一系列煩瑣的命令配置,最好是下載那些安裝型的,這樣,它會在安裝過程中自動進行一些必須的配置。服務器端和客戶端安裝的順序無關緊要。
服務器應該安裝服務器和客戶端,客戶機只需要安裝客戶端。事實上,如果服務器機不安裝服務器端軟件也行,客戶端TortoiseSVN自帶有服務器,但是在本人使用的過程中,遠程客戶端不方便訪問,并且提交的速度慢得難以忍受。如果進行單機版本管理的話,無需安裝服務端,也沒有問題。
服務器端:服務器端軟件subversion是屬于命令行式的,沒有圖形化操作界面,這對于生手來說有點麻煩,不過所幸的是,我們只需記住一條命令即可。其余的都可以通過客戶端來控制。這條命令是svnserve -d -r 版本存放地址。在這之前,使用右鍵的方式,創建一個版本存放倉庫等等,進行一些必要的操作(這里不再說明,這完全是得用客戶端軟件進行的,網上有很多說明,搜索TortoiseSVN的使用方法就可以得到完整說明)。雖然利用客戶端軟件,但進行地卻服務器軟件的操作同樣的效果。不妨假設先在E盤創建文件夾:E:\svnServer。并在此文件夾創建一版本存放倉庫。此時開始-運行-cmd,在出現的窗口中,利用上面提到的命令svnserve -d -r e:\svnServer。這樣就啟動了版本服務器了。注意不能關閉些窗口,否則版本服務器也隨之關閉。如果你使用的不是安裝型的軟件,那么這條命令會報錯。因為沒有進行環境變量的設置。
客戶端:對客戶端的操作不準備多說,網上隨處可見。只是在checkout或commit ,update等操作的時候,在URL of repository(版本倉庫地址)中輸入格式為svn://服務器ip/文件夾名。如svn://245.38.100.245/che。這里che是建在服務器文件夾e:\svnServer\che\。因為e:\svnServer是一個總倉庫,里面可管理多個項目,每個項目存放一個不同的文件夾。至于用戶密碼管理等等,這些網上都有很多說明。可以自己去找找。
最后附上SVN在linux下的注意事項和常用的命令
發生沖突時:
svn revert 扔掉自己的修改,使用倉庫中的文件版本
如果保留自己的改動,丟掉其它人的改動,則:
cp number.txt.mine number.txt
svn resolved number.txt
如果想用另外方式修改一下用svn resolved number.txt
svn log [-r 16:24] clock.java [|more]查看日志
svn blame number.txt 顯示一個或多個文件的內容。對于每個文件的每一行,顯示改動了那行的最后版本以及作出改動的人。
svn diff [-r 27:26] number.txt 查看(版本27與版本26之間)的差異
svn merge -r 27:26 number.txt 移除版本27中對number.txt的改動
svn merge -r 27:26 . 撤銷版本27對當前目錄的所有改動,點表示當前目錄
svn status [--show-updates] 查看工作版本的狀態(與服務器對照)
當鎖住文件的用戶對文件進行提交后,文件即被解鎖
svn add number.txt , svn commit 添加文件
svn co 簽出文件co即為checkout
svn info number.txt查看文件number.txt信息
svn move 移動文件或重命名
創建分支(發布或修正BUG):
svn mkdir -m "msg" svn://ip/sesame/branches 可以同時創建多個目錄,用空格分開即可
svn copy -m "msg" svn://ip//sesame/trunks svn://ip/sesame/branches/RB-1.0
svn commit
訪問發布分支,從分支簽出即可。
簽出到當前目錄的rb1.0文件夾 svn co svn://ip/ rb1.0
回復 更多評論