版本管理系統Subversion(SVN)



版本管理系統Subversion

CvsSvnGit都是版本管理系統

基本概念:

版本庫(Repository):Subersion是一種集中式的分享信息的系統,它的核心是版本庫。

版本模型:版本控制兄臺那個的核心任務是提供協作編輯和數據共享,但是不同的兄臺那個使用不同的策略來達到目的。

文件共享問題

1.鎖定-修改-解鎖  (存在問題)

2.拷貝-修改-合併  (SubversionCVS版本系統就是採用這種方案)

備註:儘管cvssubversion一直主要是採用拷貝-修改-合併方案,但是它們也提供了鎖定機制。

工作拷貝檢出check out

版本url:

file:// 直接版本庫訪問(本地磁盤)

http:// 通過配置SubversionApache服務器的web協議訪問

https:// http://相似,但是包括SSL加密

svn:// 通過svnserve服務自定義的協議訪問

提交(commit):提交 checking in

更新(update):

修訂版本(revision):

工作拷貝如何追蹤版本庫:對於工作拷貝的每一個文件,Subversion在管理區域.svn記錄兩項關鍵信息:

1.工作文件所作爲基準的修訂版本(文件的工作修訂版本)

2.一個本地拷貝最後更新的時間戳

未修改且是當前的:文件在工作目錄裏沒有修改,在工作修訂版本之後沒有修改提交到版本庫。svn commit操作不做任何事情,svn update不做任何事情。

本地已修改且是當前的:在工作目錄已經修改,從工作修訂版本之後沒有修改提交到版本庫。本地修改沒有提交,因此svn commit會提交成功,svn update 不做任何事情。

未修改且不是當前的了:這個文件在工作目錄沒有修改,但是在版本庫中已經修改了。這個文件最終將更新到最新版本,成爲當時的公共修訂版本。Svn commit不做任何事情,svn update 將會取得最新的版本到工作拷貝。

本地已修改且不失最新的:這個文件在工作目錄和版本庫都得到修改。一個svn commit將會失敗,這個文件必須首先更新,svn update命令會合並公共和本地修改,如果Subversion不可以自動完成,將會讓用戶解決衝突。

svn status命令可以告訴你工作拷貝文件的狀態。

 

Subversion官網:http://subversion.apache.org/ 已經在apache了。

SubversionCVS一樣,也是很典型的C/S系統(客戶端/服務器),所以在使用之前我們需要下載相應的服務器端和客戶端軟件。

 

 

Subversion服務器安裝,推薦安裝最新版本1.8.10(傻瓜安裝)

Subversion服務器安裝完成之後,會默認在path環境變量中加入安裝的bin目錄。如果沒有那麼我們可以自己手動加入:例如增加D:\Subversion\install\binpath變量上。

注意:當修改了環境變量後一定要重新打開一個新的命令行窗口,修改才生效。

注意:SVN的命令是基於命令行的,所以我們不能直接雙擊bin目錄下的命令來操作它們,我們需要到命令行窗口去執行它們。

SVN的服務器軟件同樣包含了客戶端執行的一些命令,我們呢可以利用這些命令來完成我們的日常的版本控制管理工作。

首先我們要在服務器端建立倉庫(repository)

常用Subversion命令

命令行窗口輸入 svn 測試安裝是否成功。svn help 查看幫助命令。

命令行創建倉庫命令:svnadmin create 具體路徑下的倉庫名

命令行啓動服務器命令:svnserve -d -r 具體路徑下的倉庫名

-d表示後臺模式 -r指定服務器的倉庫路徑

importcheck out操作

命令行導入我們自己創建的項目:svn import svn://IP地址

命令行check out(檢出)倉庫的項目:svn check out svn://localhost/項目名稱

commitupdate操作

命令行提交我們修改後的文件:svn commit 文件

update操作:注意update不是對服務器進行寫操作,而是從服務器取文件,即讀操作。

命令行update我們需要的文件:svn update 文件

備註:以上importcheck out commitupdate四個操作都是需要到對應的目錄下操作

清除鎖定命令:svn cleanup

查看svn幫助命令 svn help   

查看具體某個命令的幫助 svn help xxx。例如查看import具體詳解 svn help import .

或這種格式svn import --help  注意是兩個-(--)

 

高級操作:

在服務器端爲客戶端分配登入賬號和密碼:

在倉庫下的conf下的svnserve.confpasswd配置。

anon-access=noneanon-access=readanon-access=write(匿名用戶的訪問權限)

password-db = passwd(開啓用戶登入)

 

TortoiseSVN:SVN客戶端軟件

實際上TortoiseSVN是對Windows操作系統的文件夾增加的一個外殼,方便大家使用鼠標右鍵點擊時就會出現TortoiseSVN的操作快捷方式。

 

SVNApache整合的時候要注意版本匹配的問題。

 

Eclipse安裝SVN插件方法:

1.在線安裝:最準確但是可能會受網絡影響比較慢

2.link安裝:最爲推薦,方便安裝和卸載插件。最推薦

i. 建立一個.link文件裏面存放path=插件路徑  注意分隔符爲/,不是\

ii. 插件路徑下存放的是zip解壓後的文件

3.使用zip壓縮包離線安裝,和第一種方式類似。推薦使用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章