SVN客戶端用戶使用手冊(完整版)
該文檔將逐步教您如何在軟件開發(fā)過程中使用svn客戶端
環(huán)境模擬
現(xiàn)有項(xiàng)目名稱:test
服務(wù)端版本庫:test
URL:http://10.155.11.10:81/svn
開發(fā)人員:devA,devB
版本庫目錄結(jié)構(gòu):
一.基本操作
第一步:安裝客戶端
到共享文件夾下,下載TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi安裝程序,雙擊直接安裝即可。安裝成功后,右鍵單擊鼠標(biāo)會(huì)多出兩個(gè)選項(xiàng),分別是SVN checkout和Tortoise SVN。
第二步:建立工作區(qū)
項(xiàng)目開始之前,在本地PC的硬盤上,創(chuàng)建一個(gè)文件夾,文件夾命名隨意(例如workspace
),該文件夾即作為軟件開發(fā)者在項(xiàng)目開發(fā)過程中的工作區(qū)。
第三步:下載版本庫
假如現(xiàn)在開發(fā)一個(gè)項(xiàng)目,配置管理員會(huì)在服務(wù)端建立一個(gè)該項(xiàng)目的版本庫test
在workspace文件夾上,右鍵單擊鼠標(biāo)。選擇SVN checkout,會(huì)出現(xiàn)如下窗口
在URL of repository中輸入版本庫地址,http://10.155.11.10:81/svn/test ,在Checkout dir中系統(tǒng)會(huì)自動(dòng)添加第二步所創(chuàng)建的工作區(qū)目錄。
在Revision中,選中HEAD revision,這樣將會(huì)下載到版本庫的最新版本。如果想下載庫中的舊版本文件,可選中Revision,然后填入版本號即可。
如果不想下載整個(gè)版本庫,而是只想下載自己負(fù)責(zé)的那部分模塊,可以在URL后添加模塊名,例如http://10.155.11.10:81/svn/test/Doc 。
單擊OK,輸入用戶名和密碼
第四步:修改版本庫
對版本庫的修改包括修改文件內(nèi)容,添加刪除文件,添加刪除目錄。
經(jīng)過第三步的操作,本地的工作區(qū)文件夾,即workspace上會(huì)有綠色對勾出現(xiàn),工作區(qū)下的文件也會(huì)帶有綠色對勾,如圖2
如果對庫中某一個(gè)文件進(jìn)行了修改,系統(tǒng)會(huì)自動(dòng)為這個(gè)文件和這個(gè)文件所在的各級父文件夾加上紅色嘆號,代表該文件或目錄已經(jīng)在本地被修改,如圖3
圖3
當(dāng)所有對版本庫的修改操作完畢后,右鍵單擊工作區(qū)文件夾,選擇commit提交新版本,輸入密碼后系統(tǒng)將把修改后的版本庫上傳到服務(wù)端,即完成一次對版本庫的更新。
注意:
新版本提交之后,其他擁有寫權(quán)限的用戶也許會(huì)重復(fù)以上幾步的操作,完成對版本庫的再一次更新。所以,每次在工作區(qū)文件夾下修改本地版本庫之前,必須首先對本地版本庫執(zhí)行一次更新(右鍵單擊工作區(qū),選擇SVN Updata),將最新的版本下載到本地,然后再進(jìn)行修改操作。
二.其他操作
在日常的軟件開發(fā)過程中,除了以上介紹的下載,提交,更新操作外,還有另外幾種常用操作。
(1)比較文件的不同之處
當(dāng)對soc_1做了修改之后,soc_1文件會(huì)出現(xiàn)紅色嘆號,表示已經(jīng)修改,如果想查看修改后的soc_1文件與修改前有何不同,可以右鍵單擊此文件,選擇diff,系統(tǒng)探出一個(gè)窗口,如圖3,窗口分為兩個(gè)部分,左邊為更改之前的版本,右邊為更改之后的版本。并在不同之處作出標(biāo)記和說明。如圖4
如果是word文檔的話,選擇diff之后,系統(tǒng)會(huì)打開一個(gè)word文檔,并在其中標(biāo)出修改后的版本與修改前有何不同。如圖4.1
(2)查看日志
如果想查看一個(gè)文件的日志,例如soc_1,右鍵單擊這個(gè)文件,選擇show log,系統(tǒng)會(huì)踏出一個(gè)窗口,并在窗口中顯示soc_1各個(gè)版本的log。如圖4
圖5
(3)查看版本樹
如果想查看soc_1文件的版本樹,右鍵單擊該文件,選擇Revision graph,系統(tǒng)將會(huì)打開一個(gè)窗口,并在窗口中顯示該文件的版本樹。如圖6。
之所以只顯示了4.5.6.7四個(gè)版本,是因?yàn)檫x擇了只顯示發(fā)生過變化的版本。即1.4.5.6.7每一個(gè)版本都有不同的地方,都是經(jīng)過用戶修改后提交的。而2.3兩個(gè)版本是與版本1相同的。
(4)下載某個(gè)文件的舊版本
如果想要得到某個(gè)文件的舊版本,只需在該文件上單擊右鍵,選擇Updata to revision…即可。系統(tǒng)會(huì)提示輸入版本號。例如要下載soc_1的第五個(gè)版本,只需填入5即可。如圖7。查看完版本5的文件后,如果想在此回到最新版本,只需要對soc_1運(yùn)行Updata即可。
(5)重名名和刪除文件
如果要?jiǎng)h除一個(gè)文件或重名名一個(gè)文件,
注意不要在windows下直接操作。只需右鍵單擊該文件,選擇Rename或Delete,svn系統(tǒng)便會(huì)完成操作。
在workspace中將文件重命名或刪除后,服務(wù)端的文件結(jié)構(gòu)不會(huì)變化,只有當(dāng)提交新版本庫后,即commit后,服務(wù)端的文件結(jié)構(gòu)才會(huì)被更新。
如果誤刪除了文件,在沒有提交版本庫之前,可以通過對版本庫的升級將文件重新下載到本地的版本庫,也可以通過revert恢復(fù)(參考第八條)。如果文件刪除,并且已經(jīng)提交,那么要找回文件只能通過下載舊版本庫來完成,參考(4)。
(6)創(chuàng)建分支
版本庫中最初的文件soc_1,soc_2,word_1,word_2都是主干文件。如果想要為soc_1創(chuàng)建一個(gè)分支,只需右鍵單擊soc_1,選擇Branch/Tag,系統(tǒng)會(huì)彈出一個(gè)窗口,如圖8。在窗口中,F(xiàn)rom URL表示要?jiǎng)?chuàng)建的這個(gè)分支是soc_1的分支(系統(tǒng)會(huì)自動(dòng)添加,不必更改)。在To URL中,需要更改一下文件名,在文件名后加一個(gè)標(biāo)志即可,例如“
_branch”,路徑不需要更改。在Creat copy in the repository from中,可以選擇分支文件是由soc_1的那一個(gè)版本拷貝來的。最后填寫日志,選擇OK。
分支創(chuàng)建完畢,Updata版本庫,系統(tǒng)會(huì)將soc_1的主干文件和分支文件soc_1_branch同時(shí)下載到本地版本庫,如圖8.1,然后即可在分支文件上進(jìn)行操作。此時(shí)soc_1的版本樹如圖8.2
(7)合并分支
當(dāng)需要把soc_1_branc分支文件合并到soc_1主干文件時(shí),右鍵單擊soc_1,選擇Merge,會(huì)彈出一個(gè)窗口,如圖9。
在 From輸入框中填入主干的URL,在To輸入框中填入分支的URL。在From和To中,都有兩個(gè)選項(xiàng)HEAD Revision和Revision,表示要進(jìn)行合并的是soc_1的那個(gè)版本。合并之后主干文件會(huì)標(biāo)注紅色嘆號,表示已被修改,并可以提交。如果合并后文件標(biāo)注的是黃色嘆號,表示文件有沖突,處理方法見第三部分“異常處理”。
(8)撤銷修改
當(dāng)對一個(gè)文件進(jìn)行了修改并保存后(注意此處并沒有進(jìn)行提交),如果對修改不滿意,想要重新修改,可以右鍵單擊修改過的文件(帶紅色嘆號的那個(gè)),然后選擇revert,前面的一系列修改便會(huì)被撤銷,恢復(fù)到Updata之后的狀態(tài)。如果一個(gè)文件被誤刪除,也可通過右鍵單擊該文件所在的目錄,選擇revert來恢復(fù)。
三.異常處理
此處所說的異常主要是指文件發(fā)生沖突。以用戶devA和用戶devB為例,
當(dāng)兩個(gè)用戶同時(shí)下載了最新的版本庫,并對庫中同一個(gè)文件soc_2進(jìn)行修改提交時(shí),首先提交的用戶devA不會(huì)發(fā)生異常,第二個(gè)提交的用戶
devB便會(huì)出現(xiàn)無法提交的現(xiàn)象。因?yàn)榉?wù)端的版本庫已經(jīng)被devA更新,devB用戶在上傳時(shí),系統(tǒng)會(huì)提示出錯(cuò)如圖10。
在這種情況下,devB用戶需要首先對修改的文件進(jìn)行Updata文件操作。如果兩個(gè)用戶修改了文件soc_2的同一個(gè)地方,則在devB用戶執(zhí)行Updata后,系統(tǒng)會(huì)將本地的soc_2與從服務(wù)端下載soc_2合并到一個(gè)文件上,并在該文件圖標(biāo)上標(biāo)上黃色嘆號,表示文件出沖突。在文件中通過“<<<<<<”和“>>>>>>”標(biāo)識沖突位置和沖突內(nèi)容。devB用戶只有與devA協(xié)商,將該沖突處理,之后單擊右鍵,選擇Resolve,沖突標(biāo)記消除,才能夠再次提交,否則無法提交。
文件標(biāo)記沖突的格式:
<<<<<<< .mine
workspsace工作區(qū),等abc工作區(qū)提交結(jié)束后再提交,應(yīng)該會(huì)出現(xiàn)沖突
=======
在此插入一段話,啊啊aaa,測試沖突
>>>>>>> .r15
綠色部分表示本地文件的修改
藍(lán)色部分表示服務(wù)端版本庫中的最新版本與本地文件修改發(fā)生沖突的地方。
紫色表示是第15個(gè)版本發(fā)生了沖突
=======
在此插入一段話,啊啊aaa,測試沖突
>>>>>>> .r15
綠色部分表示本地文件的修改
藍(lán)色部分表示服務(wù)端版本庫中的最新版本與本地文件修改發(fā)生沖突的地方。
紫色表示是第15個(gè)版本發(fā)生了沖突
文章來自[SVN中文技術(shù)網(wǎng)]轉(zhuǎn)發(fā)請保留本站地址:http://www.svn8.com/svnzixun/20090413/4578.html