>>本文會盡所能將其中的步驟都描述清楚,並配上一些截圖以便幫助初識SVN的朋友更好更快的理解和上手。
>>什么是版本控制
版本控制 , Revision control ,其實最初的時候是應用在工程設計領域,其目的是為了維護工程藍圖的標准,追蹤工程藍圖從 誕生到最終確定的過程。
用以記錄文件的內容變化,以便查詢修改情況。Subvesion 就是實現了版本控制的一項工具,簡稱SVN,與Tomcat一樣,同屬於Apache軟件基金會組織旗下。
關於SVN的 一些優良特性、工作原理諸如此類理論雲雲,完全可以在互聯網上找到無數一模一樣(or相去甚遠也不一定)的說法。在此就不過多累述這一部分。
本文會着重寫明如何使用SVN。
>>SVN的基本操作
- 檢出 (checkout) : 將一個服務器端創建好的項目完整的Down到自己的計算機上使用的,這是后參與項目開發的第一步,一般 只執行一次。
- 更新(update):通常情況下都是在結束了一整段提交工作之后,當再次開始開發時,會先執行一次update將本地文件更新 為服務器端的最新版本。
- 提交(commit):將本地修改提交到服務器端。通常為實現一個功能、完成一個模塊時執行一次提交。
>>SVN的安裝與配置
安裝服務器端程序
Apache維護更新的是Subversion的源碼,其各個版本的源碼包可以到下面給出的地址去下載。
The best available version of Apache Subversion is : 1.9.5
下載地址:http://subversion.apache.org/download/
如果想要下載傻瓜式安裝的msi程序,可以去下面的這個地址:
下載地址:https://sourceforge.net/projects/win32svn/?source=directory
如果是從第二個地址下載下來的應該是名為:Setup-Subversion-1.8.9-1.msi 的安裝程序。
沒錯了,就是它。雙擊安裝。
因為我已經安裝了,在此就不演示如何安裝。需要注意的是在選擇安裝路徑的時候,確保所選路徑 !!!沒有中文沒有空格沒有特殊符號!!!
等待安裝完成后,程序會自動配置環境變量 ---> 例如在我的path中的最后會有 D:\SVN\Subversion\bin; 路徑。
請務必要確認一下是否安裝成功。打開cmd,在命令行輸入 svn --version 回車,如果出現以下信息代表安裝成功。
如果出現的是"svn 不是內部指令"這樣字樣,不要驚慌。進入環境變量中,找到系統變量中的path,將SVN根目錄的bin目錄重寫一遍,例如我的D:\SVN\Subversion\bin;
之后確認保存就行了。根據測試,這樣確實可以解決問題,具體是因為什么出現這樣的問題那就要問問某蓋茨了。
配置版本庫
在完成了安裝並且確認環境無誤之后,推薦完成版本庫的配置。
建議是這樣的,在版本庫的上級安放目錄中創建一個新的文件夾,用以創建項目所用的版本控制倉庫。
例如我的SVN安裝在了 D:\SVN\Subversion中,於是我在D:\SVN下新創建一個文件夾叫做“repository”,顧名思義,我將會用這個文件夾作為一個倉庫使用。保存所有的項目版本倉庫。這樣做的好處:不用頻繁為每一個項目都搭建一個SVN服務器,這樣的話未免也太鋪張浪費了。
如何創建版本庫呢? 通過指令就能夠實現,具體指令如下:
svnadmin create 【參數:指定的路徑】
例如 我在D:\SVN\repository下有個要作為版本庫的文件夾,名為 EmployeeManager
在命令行中便可以輸入 :
svnadmin create D:\SVN\repository\EmployeeManager
正確執行命令后會在EmployeeManager文件下出現以下文件:
conf為存放版本庫所使用配置文件的目錄;
db為存放版本數據庫文件的目錄;
hooks為存放版本庫鈎子程序的目錄;
locks為存放庫鎖,跟蹤訪問者目錄;
format 記錄版本
ReadMe 版本庫自訴
之后為了確保能夠正常的checkout , update , commit 需要修改一下配置文件:找到conf文件夾下的svnserve.conf文件,編輯打開
圖中標記的 # anon-access = read , 將read 修改為 write后, 取消前面的#注釋保存退出,即為修改成功。
在完成了以上步驟之后,就要開啟SVN服務了。只有當其服務啟動之后,才能響應客戶端的請求管理項目文件。在這里介紹兩種方式來開啟SVN服務。
其中之一是直接通過命令行來開啟,命令格式如下:
svnserve -d -r [Subversion根目錄的絕對路徑]
啊對了,參數-d代表后台執行,-r代表版本庫的根目錄
但是通過這種方式啟動的SVN服務只要將命令行窗口關閉,服務就被停止了,除了每次都要手動啟動不方便之外還可能會有不小心將服務關閉卻不自知的情況出現。所以在這里推薦第二種辦法來解決這樣的問題。那就是注冊windows服務,讓svn服務在計算機啟動的時候就啟動。
既然要注冊Windows服務,不可避免的要使用sc.exe,這是自帶工具,所以直接在命令行中按照以下命令注冊服務(但凡出現=號,左邊沒有空格,右邊一個空格):
sc create [服務名] binpath= "運行服務所需要的二進制文件路徑以及運行該二進制文件的命令行參數" start= [auto或其他] depend= [所依賴協議]
根據我安裝的路徑,應該這樣:
sc create svnserver binpath= "D:\SVN\Subversion\bin\svnserv.exe --service -r D:\SVN\repository" start= auto depend= tcpip
在執行命令的時候如果出現了拒絕訪問,只需要用管理員權限打開cmd就可以解決了。
在確認服務注冊成功之后,可以輸入命令 net start svnserver(服務名根據自己命令決定)來啟動一次。之后服務將會跟隨計算機啟動而啟動。
Eclipse中使用SVN對項目進行版本控制
如果要在Eclipse中使用SVN,則必須要先下載一個eclipse的SVN插件,這個插件可以通過網絡下載。
也可以在Eclipse上下載,如果從別的地方下載來的插件,請放在eclipse根目錄下的dropins目錄下。
之后我們在通過Import,來找到SVN
點擊Next >
第一項
輸入項目版本庫路徑,
選擇版本庫
之后就會出現創建項目的選項,
當創建好項目之后在項目上右鍵點擊,選擇Team選項卡,就會出現操作提示了。諸如,提交,更新等。至此,SVN的安裝配置、服務配置,以及在Eclipse中連接項目版本庫就完成了。