SVN 全名是 Subversion,它是一個開源的版本控制軟件,官網鏈接:http://tortoisesvn.net/ ,與它類似的軟件有CVS,VSS,ClearCase。而 SVN 作爲一個跨平臺的開源軟件,具有很強的活力,目前也已經相當成熟,很多開源項目都用它來管理文檔或是代碼。更多svn詳細資料可查看百度百科鏈接:http://baike.baidu.com/view/183128.htm
更爲重要的是,不僅僅是團隊開發,作爲個人獨立開發的項目(或者個人想維護的文檔)也可以用 SVN 進行管理,而不需要另外一臺服務器。
TortoiseSVN 是 SVN 的一個 Windows 外殼擴展應用,它可以幫助用戶直觀的進行 SVN 的各種操作,而不需要使用命令行。
安裝SVN(Subversion),步驟如下:
1、下載&安裝Subversion的Windows客戶端TortoiseSVN:
安裝包鏈接:http://tortoisesvn.net/downloads
2、建立版本庫(Repository):
可以看作服務器上存放數據的數據庫,svn的所有操作都存放在這裏。
在目錄D:\svn\repository下"右鍵->TortoiseSVN->Create Repository here ,執行此目錄後就自動創建了一系列目錄和文件
3、配置用戶和權限:
打開D:\svn\repository, 你會發現已經多了一些目錄和文件, 打開conf子目錄, 打開svnserve.conf文件, 這裏行前凡是有#的都等於是被註釋忽略了, 你可以把#去掉讓那一行生效, 或者自己新添加行. 裏面的英文註釋已經詳細說明了各種設置的含義, 最後你設置 [general]小節中行前沒有#號的內容爲:
anon-access = none
auth-access = write
password-db = passwd
含義是:
未驗證用戶無任何權限 (如果把none修改爲read就是給予讀權限)
已驗證用戶給予寫權限 (當然也能讀)
密碼數據存放到passwd文件中
然後打開同目錄的passwd文件來設置帳戶:
同樣, 設置[users]小節中行前沒有#號的內容, 例如:
admin=123456
含義是:
用戶admin的密碼爲123456
4、運行獨立服務器:(舊版的svn需要用到svnservice.exe,新版改在dos(cmd)操作窗口下用sc命令建立服務器並開啓服務)
sc create svnservice binPath= "E:\TortoiseSVN\bin\svnserve.exe --service -r F:\svn\repository" DisplayName= "svnservice" depend= Tcpip start= auto
binPath路徑代表svn的安裝目錄下的svnserve.exe文件路徑;-r爲root的簡寫,F:\svn\repository是前面配置的版本庫路徑,DisplayName是設置svn服務的名稱;start=auto爲將svn服務設置成開機啓動!
最後是開啓svn服務:
net start svnservice
(可以在“開始->運行...”中執行"services.msc",然後在圖形化界面中開啓"svnservice"服務,同執行上面語句效果一樣!)
當然我們可以建立一個bat一鍵運行上述命令:
sc create svnservice binPath= "E:\TortoiseSVN\bin\svnserve.exe --service -r F:\svn\repository" DisplayName= "svnservice" depend= Tcpip start= auto
net start svnservice
pause
安裝時只需要更改bat文件裏面的2個路徑即可,簡化了命令的輸入,懶人必備方法啊,有木有!
5、初始化導入:
簡單說就是將需要svn控制的文件目錄先導入到svn,這步確定svn對應路徑!(注意:該文件目錄只作爲導入初始化,同後續的svn操作無任何關係,可隨意刪除),一般操作如下:
在你需要進行版本控制的目錄上右擊, 選擇TortoiseSVN, 再選擇子菜單"導入...", 設置"文件庫url"爲svn://localhost/folderName(folderName是隨意取的,確定之後,以後svn操作路徑就是這條了!), 點確定後就會提示文件正在導入.
需要注意的是,這裏是svn文件庫與svn服務是同一臺計算機的情況, 所以可用localhost, 其它機器如果要訪問svn服務, 應該用svn://svn服務器的IP地址, 例如svn://192.168.1.125
6、客戶端基本操作 :
update、commit等
創建一個準備用來存放版本控制工程的目錄,用來存放初始化導入後最後一次最新版本的目錄,程序的編寫和修改都在這個目錄完成。例如E:\project, 然後在這個目錄上右擊這個目錄,執行SVN Checkout命令將svn目錄更新下來(會要求填寫前面搭建服務器端所設置的用戶admin密碼123456 ),本地修改完後再commit到版本庫(Repository)中
至此, Windows下搭建本地SVN服務器就算完成了, 你會看到E:\project及其下面的文件都被標記了綠色對勾 !
另附:
1. 停止服務
使用"net stop svnservice"停止服務。
2.刪除服務
如果服務安裝的有問題,你可能需要刪除服務。要刪除前面添加的服務,只需要運行"sc delete svnservice"。
下面來說說我遇到的問題
我今天配置服務器的時候
1.[SC] OpenSCManager 失敗 5 :拒絕訪問。
遇到這個問題的時候解決方案我們需要在客戶端的bin的文件夾下邊新建一個svn.bat文件
建立一個新的文件svn.bat.
輸入:
sc create MySVN binpath= "G:\svnserver\server\bin\svnserve.exe --service -r G:\svnserver\project" displayname= "SVNService" depend= Tcpip start= auto
sc start SVNService
2.TortoiseSVN訪問時候出現 Error: Can't connect to ...由於目標機器積極拒絕,無法連接”
應該是svnserve服務沒起來,在cmd行下查看telnet t loaclhost 3690也失敗,這就說明svn服務器端沒有裝好。
需要在bin目錄下新建個bat文件,內容如下:
sc create svnserve binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r d:\svnhome" depend= Tcpip start= auto
sc start svnserve
pause
保存,然後運行,就可以了。