版本控制器之SVN(一)
通常軟體開發由多人協作開發,如果對程式碼檔案、配置檔案、文件等沒有進行版本控制,將會出現很多問題:
- 備份多個版本,佔用磁碟空間大
- 解決程式碼衝突困難
- 容易引發BUG
- 難於追溯問題程式碼的修改人和修改時間
- 難於恢復至以前正確版本
- 無法進行許可權控制
- 專案版本釋出困難
版本控制(Revision control)是維護工程藍圖的標準做法,能追蹤工程藍圖從誕生一直到定案的過程。是一種記錄若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。
SVN(Subversion)是近年來崛起的版本管理工具,在當前的開源專案裡(J2EE),幾乎95%以上的專案都用到了SVN。Subversion 專案的初衷是為了替換當年開源社群最為流行的版本控制軟體CVS
複製-修改-合併方案(Subversion預設的模式)
在這種模型裡,每一個客戶讀取專案配置庫建立一個私有工作副本——版本庫中檔案和目錄的本地對映。使用者並行工作,修改各自的工作副本,最終,各個私有的複製合併在一起,成為最終的版本,這種系統通常可以輔助合併操作,但是最終要靠人工去確定正誤。
鎖定-修改-解鎖方案
在這樣的模型裡,在一個時間段裡配置庫的一個檔案只允許被一個人修改。此模式不適合軟體開發這種工作。
版本控制器的工作方式:
獨立伺服器方式:
svnserve
藉助Apache方式:
mod_dav_svn
SVN版本資料儲存方式:
BDB (Berkeley DB)
資料庫方式
FSFS
檔案方式(推薦)
官方安裝包:
官方網站:http://subversion.apache.org/
下載:http://subversion.apache.org/download.cgi
志願者開發的圖形化操作介面的svn服務端,它適用於普通軟體開發人員使用。
下載地址:https://www.visualsvn.com/downloads/
需注意:
------------------------------------------------------------此處博主已安裝完成,此圖來源網路,因版本不一樣,介面會有不同,配置是一樣的選項。
建立倉庫:
選擇:VisualSVN Server(local)>Repositories >新建 > Repository...
彈出下面介面:
選擇:下一步
這裡需要填寫自己的命名
彈出下面介面:
之後一直“下一步”即可。
一個空倉庫即建立成功。
倉庫地址為:
https://ip地址或計算機名/svn/倉庫名稱
建立工程目錄:
點選右鍵,選中新建 > project Structure...
彈出以下介面:
填寫完成以後點選 ok,
此為博主建立成功後的目錄,博主輸入的工程名為OA
此處應顯示為個人書寫的專案工程名。
展開以後,如上圖,
各目錄的作用:
trunk:專案開發程式碼的主體,是從專案開始直到當前都處於活動的狀態,從這裡可以獲得專案最新的原始碼以及幾乎所有的變更歷史資訊。
branch:從trunk的某個點分離出來的程式碼拷貝,通常可以在不影響主幹的前提下在這裡進行重大bug的修改,或者做實驗性的開發,以及定製功能開發等。如果分支達到了預期的目的,通常可以被合併(Mgerge)到主幹中。
tag:用來表示trunk和branch的某個點的狀態,以代表專案的某個穩定狀態,通常為最終釋出狀態。
TortoiseSVN客戶端
svn客戶端需要通過網路訪問svn服務端提交檔案、查詢檔案等,可通過以下客戶端型別訪問svn服務端:
1、使用Subversion提供的客戶端命令
使用方式:在命令列下輸入命令操作。
2、使用Torotise圖形化介面操作(推薦)
3、使用Eclipse等開發工具外掛操作(推薦)
TortoiseSVN是Subversion版本控制系統的一個免費開源客戶端,不需要為使用它而付費。
TortoiseSVN是Subversion 的Windows 擴充套件。它使你避免接觸Subversion 枯燥而且不方便的Command Line。它完全嵌入Windows Explorer,使用時只需在正常的窗口裡右鍵操作就可以了
下載:http://tortoisesvn.net/downloads.html
提供 32位和64位不同版本,安裝tortoiseSVN需要修改客戶端電腦右鍵選單,安裝後需要重啟電腦。(這一點很重要,望讀者謹記。)