|
目錄
一 、安裝Visual SVN
二、配置SVN
三、安裝TortoiseSVN
四、上傳項(xiàng)目到遠(yuǎn)程倉庫
五、從遠(yuǎn)程倉庫下載項(xiàng)目
六、檢出項(xiàng)目
七、版本回退
參考鏈接
http://blog.csdn.net/lu1024188315
https://www.cnblogs.com/warrior1988/p/5359084.html
VisualSVN server 服務(wù)端和 TortoiseSVN客戶端搭配比使用原始的 SVN和Apache相配合來實(shí)現(xiàn)源代碼的 SVN管理簡單。
VisualSVN Server的下載:http://www./server/download/

TortoiseSVN 的 下載:http:///downloads.html

在網(wǎng)頁下面還有一個(gè)Language packs,你可以選擇簡體中文,下載后直接安裝,最后勾選立即使用即可。

一 、安裝Visual SVN
首先下載VisualSVN Server
【1 】打開后一路下一步,有協(xié)議點(diǎn)同意

【2】 選擇 visualVSN服務(wù)器和管理控制臺(tái) 或只有管理控制權(quán)限

選個(gè)標(biāo)準(zhǔn)版或企業(yè)版

【3】選擇程序安裝的路徑、Subversion Repository(庫)的路徑和所使用的協(xié)議和端口以及備份路徑
Location是指VisualSVN Server的安裝目錄,
Repositorys是指定你的版本庫目錄,
Server Port指定一個(gè)端口,
Use secure connection勾上表示使用安全連接。
繼續(xù)【Next】到【Finish】。

選擇HTTP或HTTPS兩種協(xié)議,
HTTPS的端口號(hào)默認(rèn)可以選擇443和8443
HTTP默認(rèn)可以選擇80、8080和81
在1.4版本后,Subversion加入了Service運(yùn)行的功能。端口號(hào)可以任意定義。
個(gè)人偏向于使用HTTPS的8443端口,因?yàn)镠TTPS安全性比較高,雖然443端口是標(biāo)準(zhǔn)HTTPS端口,但如果做WEB開發(fā)那肯定就有麻煩,同時(shí)Skype也會(huì)使用這個(gè)端口進(jìn)行某些通訊。
還有就是下面的用于驗(yàn)證的身份,一個(gè)是windows驗(yàn)證,一個(gè)是Subversion身份驗(yàn)證,這里默認(rèn)是Subversion身份驗(yàn)證。
【4】接著就是安裝過程


【5】安裝完成后會(huì)詢問你是否需要運(yùn)行VisualSVN Server Manager

【6 】點(diǎn)finish,打開“ VisualSVN Server Manager ”,如下:

右側(cè)狀態(tài)區(qū)包括:
Status:服務(wù)運(yùn)行狀態(tài)
SubversionAuthentication:賬戶信息
Respositories:代碼庫信息
二、配置SVN
1.創(chuàng)建遠(yuǎn)程倉庫
修改URL:
如電腦IP是:192.168.100.100
右鍵 VisualSVN Server選擇Properties

選中NetWork輸入IP即可

添加一個(gè)代碼庫【Repository】,左側(cè)Respositories上右鍵菜單中選擇創(chuàng)建一個(gè)代碼庫,如下圖:

之后會(huì)提示選擇倉庫類型:

FSFS:根據(jù)標(biāo)準(zhǔn)的FSFS數(shù)據(jù)存儲(chǔ)創(chuàng)建一個(gè)常規(guī)的Subversion存儲(chǔ)庫。
VDFS:基于VisualSVN分布式文件系統(tǒng)創(chuàng)建分布式Subversion存儲(chǔ)庫。VDFS存儲(chǔ)庫充當(dāng)標(biāo)準(zhǔn)的Subversion存儲(chǔ)庫,允許在地理分布的站點(diǎn)之間復(fù)制數(shù)據(jù)。
選擇FSFS,輸入倉庫名字

選Empty,只創(chuàng)建空的代碼庫FirstRep;
選Single,則在代碼庫FirstRep下面會(huì)創(chuàng)建trunk、branches、tags三個(gè)子目錄。
我們選Single

選擇倉庫的使用權(quán)限,選擇所有用戶

點(diǎn)擊create之后帶你finish,創(chuàng)建成功


2.創(chuàng)建用戶并添加
在左側(cè)的Users上點(diǎn)擊右鍵:



輸入信息,點(diǎn)擊OK,我們就創(chuàng)建一個(gè)用戶了。
按照上面的過程,分別添加用戶其他用戶就可以了。
下面我們開始添加這些用戶到我們剛才創(chuàng)建的項(xiàng)目里。
點(diǎn)擊剛才創(chuàng)建的庫,右擊選擇屬性(Properties)

點(diǎn)擊上圖中的"Add..."按鈕,在下圖中選擇我們剛才添加的用戶,

選中添加的用戶還可以配置權(quán)限

注意這里的權(quán)限設(shè)置,要選擇好。
點(diǎn)擊"確定"按鈕,上面的用戶就具有了訪問代碼庫的不同權(quán)限。
右鍵創(chuàng)建的倉庫,選copy url ,然后到網(wǎng)頁打開連接

之后會(huì)讓你輸入賬號(hào)密碼,然后就可以登陸了。

上傳到SVN服務(wù)器首先要下載TortoiseSVN
下載后安裝,一路next,然后finish,給出部分截圖如下:




最后也可以自己安裝中文包,一路next,最后勾選立即使用即可。
四、上傳項(xiàng)目到遠(yuǎn)程倉庫
假設(shè)我們本地有個(gè)TestDIR目錄,里面兩個(gè)txt文件,如下圖:

此時(shí)遠(yuǎn)程倉庫狀態(tài):

右鍵FirstRep,選擇copy url
之后到本地右鍵FirstRep目錄,選擇TortoiseSVN,導(dǎo)入

然后輸入剛才的URL,同時(shí)也可以輸入項(xiàng)目描述

等待一會(huì)

此時(shí)在VisualSVN 空白處右鍵,選擇刷新,此時(shí)遠(yuǎn)程倉庫狀態(tài):

五、從遠(yuǎn)程倉庫下載項(xiàng)目
假如我們要下載FirstRep倉庫代碼,到TestDIR
首先右鍵點(diǎn)擊FirstRep文件夾,這時(shí)候的右鍵菜單如下圖所示:選擇copy URL toCLipboard

然后再進(jìn)入TestDIR文件夾,在電腦的空白處單擊右鍵,選擇小海龜?shù)膱D標(biāo)/ 導(dǎo)出

之后彈出對(duì)話框,將剛出的地址粘貼到第一個(gè)地址欄中,也可以自己指定目錄,然后確定

之后會(huì)彈出輸入用戶名和密碼的對(duì)話框,輸入新建賬戶和密碼,

確定,然后會(huì)彈出檢出界面。

ok下載成功。
六、檢出項(xiàng)目
檢出項(xiàng)目是把遠(yuǎn)程倉庫下載到本地,可以對(duì)項(xiàng)目提交,修改,刪除等。 下載代碼只是下載到本地,沒有任何權(quán)限,相當(dāng)于只讀。
客戶端去檢出代碼,在桌面空白處單擊右鍵,選擇SVN檢出,

在彈出的對(duì)話框中填寫版本庫URL,檢出目錄(自動(dòng)生成項(xiàng)目同名文件夾),還可以選擇版本

等待一會(huì)會(huì)提示檢出完成

檢出完成之后,我們打開工作副本文件夾,會(huì)看到所有文件和文件夾都有一個(gè)綠色的√.如圖:

七、版本回退
首先檢出項(xiàng)目到本地(操作見上面)
基本方法:
1.右擊剛才檢出的FirstRep目錄,TortoiseSVN – show log(顯示日志)

3.右擊你想要回滾到的版本,可以看到兩個(gè)選項(xiàng):“Revert to this revision”和“Revert changes from this revision”。

下面舉例說明
譬如有個(gè)文件,有十個(gè)版本,假定版本號(hào)是1,2,3,4,5,6,7,8,9,10。
Revert to this revision(復(fù)原到此版本):
如果是在版本6這里點(diǎn)擊“Revert to this revision”,表示7~10的修改全部作廢,歷史倒退到了版本6那個(gè)年代。
Revert changes from this revision(復(fù)原到此版本做出的修改):
如果是在版本6這里點(diǎn)擊“Revert changes from this revision”,表示版本6這個(gè)歷史事件被抹殺了,只剩下除版本6外的9個(gè)歷史事件了。
如果同時(shí)選擇了6,7,8三個(gè)歷史時(shí)期并點(diǎn)擊“Revert changes from this revision”,表示抹殺6~8這仨歷史時(shí)期。
同理,如果同時(shí)選擇7~10,然后點(diǎn)擊“Revert changes from this revision”,則效果跟在版本6這里點(diǎn)擊“Revert to this revision”是一樣的。
我們選擇復(fù)原到此版本,會(huì)提示如下

點(diǎn)擊還原

然后右鍵檢出的FirstRep目錄,點(diǎn)擊提交之后便生效了。


其他優(yōu)質(zhì)方法
方法1
描述:直接檢出一個(gè)你需要的版本,然后用你檢出的版本覆蓋你的最新的版本,
優(yōu)點(diǎn):不丟失你新建的文件,同時(shí)獲得最新的SVN版本控制。
操作步驟:
(1)右鍵剛剛檢出的版本14文件夾→TortoiseSVN→Show log(顯示日志)→選中需要回滾的版本→右鍵→檢出。

(2)你需要重新指定一個(gè)文件夾,否則會(huì)沖突,如選擇test1文件夾
、

(3)此時(shí)文件夾視圖如下:

 

(4)然后在新檢出的目錄修改BUG,比如新加一個(gè)3.txt文件

(4)最后,右鍵新檢出的目錄,選擇commit提交,用修改文件覆蓋到你的最新版本,即可。



此時(shí)遠(yuǎn)程倉庫如下

方法2
merge命令
(1)右鍵檢出目錄,選擇TortoiseSVN中的合并(merge)。

(2)選擇合并類型

(3)點(diǎn)擊next,后面什么都不用改,點(diǎn)擊”合并”


文件就回滾到了指定的版本了,commit之后,回滾完成。
方法3
描述:若是你編輯了工程,在沒有提交的前提下,你想放棄這些修改,
操作:直接選擇TortoiseSVN→revert就可以更新到工程的最新的版本。

方法4
描述:若是你想退回到某一個(gè)版本,你就可以直接選擇TortoiseSVN→update to reversion。
注釋:這樣就可以把版本回退到你選中的版本去,這種情況下SVN并沒有顯示出有什么沖突,并且新建立的文件也還在。
缺點(diǎn):在這種情況下你并不能直接在你回退后的版本上進(jìn)行編輯,因?yàn)镾VN的版本控制還是在最新的主干上。我們需要update并解決沖突。
(1)右鍵test1,選擇TortoiseSVN→update to reversion,選擇版本15


(2)原先test1,版本19,內(nèi)容如下

(3)等待更新完成,test1內(nèi)容圖如下,3.txt已刪除


(4)此時(shí)我們修改1.txt,如下

(5)但是此時(shí)SVN的版本控制還是在最新的主干上。我們需要 update 并 解決沖突。


方法5
你可以直接選擇revert changes from this revision,這樣的話你可以直接解決沖突并提交。
不過這種方法的不足是,你新建的文件都沒有了,整個(gè)工程都回退到之前的版本了。


方法6
描述:可以從日志中回滾到你需要的版本,從日志中選中你需要的版本,然后Update item to reversion就好了,這種情況下SVN不會(huì)對(duì)新建文件產(chǎn)生沖突,并且新建立的文件也還在,
缺點(diǎn):在這種情況下你并不能直接在你回退后的版本上進(jìn)行編輯,因?yàn)镾VN的版本控制還是在最新的主干上。我們需要update并解決沖突

注意:
向SVN服務(wù)器提交源代碼的時(shí)候,一定不要提交bin、obj等文件夾,否則會(huì)很麻煩。但是web項(xiàng)目的bin目錄除外,但是web項(xiàng)目的bin目錄中的引用其他項(xiàng)目而生成的dll不需要提交。
一個(gè)好習(xí)慣:
如果項(xiàng)目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,這時(shí)候不要簡單從他們的安裝位置引用,而是在你的解決方案下,添加一個(gè)Library的目錄,把需要的程序集復(fù)制到這里,然后從Library目錄引用。
|