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