Visual+SourceSafe+入門教學(xué)_第1頁
Visual+SourceSafe+入門教學(xué)_第2頁
Visual+SourceSafe+入門教學(xué)_第3頁
Visual+SourceSafe+入門教學(xué)_第4頁
Visual+SourceSafe+入門教學(xué)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Visual SourceSafe 入門教學(xué)作者:蔡煥麟 來源:CSDN1. 簡介在軟件工程的領(lǐng)域里,有一塊叫做 SCM(Software Configuration Management),有人管它叫軟件建構(gòu)管理。SCM 的傳統(tǒng)定義是原始碼的版本管理,后來則逐漸演進(jìn)擴(kuò)大,還包含了軟件開發(fā)的一些標(biāo)準(zhǔn)和程序的制定與應(yīng)用 Summerville 2000。版本管理工具對(duì)目前的軟件開發(fā)開環(huán)境來說相當(dāng)重要,因?yàn)椴还苁擒浻布h(huán)境的改變、需求改變、軟件本身的 bug.等等,都會(huì)令軟件不斷地演進(jìn),我們必須記錄各個(gè)版本,以便隨時(shí)比對(duì)版本之間的差異,或者回到(rollback to)過去的某個(gè)版本;此外,當(dāng)項(xiàng)目

2、小組成員眾多時(shí),工作交接、多人修改同一個(gè)檔案等情況,都有可能造成檔案的版本混亂。例如一支程序本來由張三撰寫,可是因?yàn)槟承┰颍ㄕ?qǐng)假、臨時(shí)支持其它項(xiàng)目、請(qǐng)別人 debug.)暫時(shí)由李四修改,后來又交回給張三。如果用傳統(tǒng)的檔案共享機(jī)制,每次有這種情形就要互相通知:我改好啰,請(qǐng)把檔案從檔案服務(wù)器搬回你家,萬一有人忘了,可能就會(huì)造成檔案版本錯(cuò)亂,而東西交到客戶手上才發(fā)現(xiàn) bug 依然存在。因此,如果你曾碰過下列情形,而且深感困擾,你可能就需要版本管理工具的協(xié)助: 檔案不見了(用鼠標(biāo)拖放檔案時(shí)誤動(dòng)作,不知道拖去哪兒放了); 檔案被別人覆蓋; 想要比對(duì)各版本之間有何差異; 想要回到之前修改的版本(客戶反復(fù)

3、無常,設(shè)計(jì)改來改去.); 多人同時(shí)修改造成的版本混亂; 想要知道誰動(dòng)過的我的程序代碼; 跨項(xiàng)目共享組件或模塊散落在各處。 目前市場上的版本管理工具已經(jīng)有很多,環(huán)肥燕瘦任君挑選,以下幾個(gè)可能是大家比較熟悉的: Rational Clear Case Borland StarTeam Merant PVCS Version Manager Microsoft Visual SourceSafe(VSS) Concurrent Versions System(CVS) CVS 雖然免費(fèi),也有窗口接口,但是入門門坎還是偏高,不易入手,以 unix/linux 社群用得較多;StarTeam 和 Cle

4、arCase 功能較強(qiáng)大,價(jià)格當(dāng)然也較貴;PVCS 個(gè)人也沒使用過,無法提供意見;而 Visual SourceSafe(VSS)功能雖然比較陽春,但是筆者試用之后,覺得如果只需要管理多人開發(fā)時(shí)的文件和原始碼版本,其實(shí)還挺好用的,也很容易上手。VSS 在 Visual Studio .NET 光盤中就有附了,價(jià)格算是相當(dāng)實(shí)惠。以下是使用 VSS 管理原始碼的好處(有些不是 VSS 特有的): 建構(gòu)人員可以實(shí)施每周的里程碑版本建立,統(tǒng)一編譯所有程序代碼,確保交給客戶的版本一定是最新的,不會(huì)因?yàn)槟硞€(gè)開發(fā)人員忘了把自家 local 的檔案復(fù)制到 server 的共享目錄而遺漏掉。 leader 不用

5、一天到晚打電話或發(fā) mail 去追誰還沒有把新的檔案放上 file server。 共享單元的更新更簡便、確實(shí)。 提供獨(dú)立且細(xì)微的 user 權(quán)限控管,沒有 Windows 檔案分享時(shí)的賬戶權(quán)限檢查困擾。 同一個(gè)檔案多人同時(shí)修改可自動(dòng) merge 最后的修改成果。 可將歷史版本叫出來比對(duì),顯示差異處,以進(jìn)行合并或修正。 提供 Web 應(yīng)用程序的檔案布署功能。 可以和多種開發(fā)工具整合,例如:Visual Basic、Visual Studio .NET、FrontPage 200x。 注:撰寫此文件時(shí),使用的是 VSS 版本是 Visual Studio .NET 1.0 附的 Visual S

6、ourceSafe 6.0c。1.1 基本概念想象一下沒有工具協(xié)助的情況下,當(dāng)多人同時(shí)修改一份文件時(shí),要如何確保文件的版本一致?也許你可以指派一位專人負(fù)責(zé)管理文件的進(jìn)出,這個(gè)人姑且就叫他 Manager 好了,Manager 待在一間小小的辦公室里,負(fù)責(zé)文件庫的維護(hù)和文件的進(jìn)出。當(dāng)小組成員 Eric 要修改文件時(shí),就拿磁盤到這個(gè)窗口請(qǐng) Manager 復(fù)制一份給他,Manager 在復(fù)制的同時(shí)會(huì)記下來:這份文件正由 Eric 修改;而 Eric 則會(huì)把磁盤拿到他自己的機(jī)器上,把檔案復(fù)制到他的工作目錄(working folder),然后進(jìn)行修改。等到 Eric 修改完畢,再從工作目錄中把檔案復(fù)

7、制到磁盤上交給 Manager,最后文件就被更新到文件庫中(這動(dòng)作叫做 check in),至此整個(gè)文件的修改與更新的程序就完成了。如果在 Eric 修改期間,Vivid 也拿著磁盤向 Manager 要求修改同一份文件,這時(shí) Manager 會(huì)告訴 Vivid:這份文件目前已經(jīng)由 Eric 領(lǐng)出(check out),且還在修改當(dāng)中,你得等他改完才行喔。以目前的作業(yè)環(huán)境來看,使用磁盤來傳遞檔案似乎是原始人的行徑,我們當(dāng)然可以透過網(wǎng)絡(luò)來傳遞檔案,但是透過網(wǎng)絡(luò)傳遞檔案卻無法提供上面的例子所要表達(dá)的重點(diǎn):檔案的鎖定。而鎖定機(jī)制就是 VSS(或其它版本管理工具)提供的基本功能之一,它確保了多人修改文

8、件時(shí),版本的一致性。上面這個(gè)例子當(dāng)中的文件庫,就相當(dāng)于 VSS 的數(shù)據(jù)庫,而 VSS 的客戶端工具(稱為 VSS Explorer)則扮演了 Manager 的角色。當(dāng)然 VSS 提供的功能更多,它也允許多人同時(shí)取出(check out)同一個(gè)檔案進(jìn)行修改,并且在將檔案送回(check in)數(shù)據(jù)庫時(shí),自動(dòng)進(jìn)行合并(merge),這屬于比較進(jìn)階的功能,稍后亦會(huì)提到?,F(xiàn)在你應(yīng)該已經(jīng)大概知道什么是 VSS 數(shù)據(jù)庫、什么是 check in、check out,以及文件修改的流程了,接下來就把一些常見的 VSS 術(shù)語列出來,在閱讀本文時(shí),如果碰到不了解的術(shù)語,也可以隨時(shí)回頭查看。以下是使用 VSS

9、時(shí)常見的術(shù)語:術(shù)語說明VSS 數(shù)據(jù)庫VSS 會(huì)使用一個(gè)數(shù)據(jù)庫來儲(chǔ)存各項(xiàng)目的程序代碼版本(包括歷史版本和最新版本的檔案)。ProjecVSS 項(xiàng)目,是一個(gè)項(xiàng)目檔案的邏輯結(jié)構(gòu),跟操作系統(tǒng)的目錄類似(注意不是指特殊開發(fā)工具的項(xiàng)目,例如:VB 專案)。Working Folder客戶端的項(xiàng)目工作目錄。每次從 VSS 數(shù)據(jù)庫取出檔案時(shí),就會(huì)將檔案復(fù)制客戶端機(jī)器的這個(gè)目錄下。Master Copy儲(chǔ)存在 VSS 數(shù)據(jù)庫中的最新版的檔案。Local Copy儲(chǔ)存在本機(jī)的 Working Folder 的版本。Check Out把要修改的檔案從 Master Copy 復(fù)制一份到本機(jī)的 Working Fol

10、der 下,以便修改。Check In本機(jī)的檔案修改完后,把檔案送回 VSS 數(shù)據(jù)庫。Get只從 VSS 數(shù)據(jù)庫取得 Master Copy 的檔案,但是不做修改。當(dāng)你要取得檔案的最新版,并且只對(duì)它讀取時(shí),可使用此功能。Multiple Checkouts一個(gè)檔案同時(shí)被多人取出修改。Merge合并 Multiple Checkouts 的修改結(jié)果。Shadow Folder影子目錄,它是一個(gè)硬盤上的實(shí)體目錄,每當(dāng)開發(fā)人員 check in 檔案時(shí),VSS 就會(huì)同時(shí)將檔案復(fù)制一份到這個(gè)影子目錄里面。2. 安裝與使用范例本節(jié)分別介紹 server 端與 client 的安裝及使用。2.1 服務(wù)器端

11、服務(wù)器端包含了管理工具和客戶端工具的安裝,相關(guān)的管理及設(shè)定工作有下列幾項(xiàng):1. 安裝 VSS。 2. 建立數(shù)據(jù)庫(使用 Admin 管理工具)。 3. 建立 user 賬戶(使用 Admin 管理工具)。 4. 設(shè)定其它選項(xiàng)。 5. 設(shè)定網(wǎng)絡(luò)的共享目錄。 以下是各項(xiàng)工作的施行細(xì)節(jié),我們會(huì)在 D:VSS_DB 目錄下建立一個(gè)新的 VSS 數(shù)據(jù)庫,如果你不想要建立數(shù)據(jù)庫,也可以使用預(yù)設(shè)的數(shù)據(jù)庫。2.1.1安裝 VSS直接執(zhí)行安裝程序,安裝過程中會(huì)有一個(gè)安裝選項(xiàng)畫面,其中有三個(gè)選項(xiàng),分別為 SHARED DATABASE SERVER、CUSTOM、與 STAND-ALONE。請(qǐng)選擇 SHARED

12、DATABASE SERVER。安裝完成后,在開始程序集里面會(huì)有一個(gè) Microsoft Visual SourceSafe 數(shù)據(jù)夾,里面有四個(gè)程序快捷方式: Analyse & Fix VSS DB Analyse VSS DB Microsoft Visual SourceSafe 6.0 Visual SourceSafe 6.0 Admin 2.1.2建立數(shù)據(jù)庫開啟 Visual SourceSafe 6.0 Admin,如果是第一次執(zhí)行,程序會(huì)提示你要設(shè)定 Admin 賬號(hào)的密碼,若此時(shí)不設(shè)定,以后也可以在UsersChange Password里面變更 Admin 賬號(hào)的密碼。進(jìn)入

13、 VSS Admin 之后,先點(diǎn)選ToolsCreate Database建立一個(gè)自己的數(shù)據(jù)庫,建立數(shù)據(jù)庫時(shí)會(huì)同時(shí)建立一個(gè)預(yù)設(shè)的管理員賬戶 Admin,此賬戶無法刪除。一個(gè)數(shù)據(jù)庫里面可以包含多個(gè)項(xiàng)目,當(dāng)然你可以視需要建立多個(gè)數(shù)據(jù)庫,只是一次只能使用一個(gè)數(shù)據(jù)庫。假設(shè)你將數(shù)據(jù)庫建立在 D:VSS_DB 目錄。2.1.3建立使用者賬戶數(shù)據(jù)庫建立好之后,必須先開啟數(shù)據(jù)庫,然后就可以為這個(gè)數(shù)據(jù)庫建立 user 賬號(hào),以便日后為各個(gè) user 賦予適當(dāng)?shù)臋n案存取權(quán)限。這些 user 就是開發(fā)小組的成員。欲開啟數(shù)據(jù)庫,請(qǐng)點(diǎn)選 UsersOpen SourceSafe Database或者按 Ctrl+O,然

14、后選擇上一個(gè)步驟建立的數(shù)據(jù)庫,如下圖:如果之前建立的數(shù)據(jù)庫沒有顯示在清單里面,請(qǐng)按右邊的 Browse 鈕找到該目錄(此動(dòng)作只需一次),然后按 Open 鈕,即可開啟數(shù)據(jù)庫。數(shù)據(jù)庫開啟后,點(diǎn)選UsersAdd User或按 Ctrl+A 即可新增一名使用者。2.1.4設(shè)定其它選項(xiàng)在 VSS Admin 中點(diǎn)選ToolsOptions即可開啟選項(xiàng)設(shè)定窗口,其中有些設(shè)定在客戶端(VSS Explorer)里面也有,而這里的設(shè)定是全域的,也就是如果客戶端沒有修改自己的設(shè)定,就會(huì)取用這里的設(shè)定。建議的設(shè)定值(True/False 表示勾選/不勾選):頁夾項(xiàng)目名稱設(shè)定值GeneralUse networ

15、k name for automatic user log inTrueProject RightsEnable Rights and Assignments commandsTrue2.1.5設(shè)定共享目錄你至少要把 server 端的兩個(gè)目錄分享出來給其它網(wǎng)絡(luò)使用者存?。?. 分享 VSS 的應(yīng)用程序目錄,以便客戶端可以在網(wǎng)絡(luò)上直接執(zhí)行其中的 NetSetup.exe 進(jìn)行安裝。2. 分享數(shù)據(jù)庫所在的目錄,如前面范例中的 D:VSS_DB。注意:如果你在分享 VSS 的應(yīng)用程序目錄時(shí),把目錄權(quán)限設(shè)為只讀的話,客戶端安裝完后將無法自動(dòng)執(zhí)行 VSS(但仍可手動(dòng)執(zhí)行);若目錄權(quán)限為完全控制則不會(huì)有

16、這個(gè)現(xiàn)象。2.2 客戶端2.2.1安裝客戶端安裝客戶端程序的方法有兩種:1. 向管理員詢問服務(wù)器端的 VSS 應(yīng)用程序分享目錄,然后直接執(zhí)行該目錄下的 NetSetup.exe. 2. 利用光盤安裝,安裝型態(tài)選擇 Custom,然后選擇 Client Programs。2.2.2開啟數(shù)據(jù)庫安裝完成后,執(zhí)行 VSS Explorer(在程序集中的名稱是 Microsoft Visual SourceSafe 6.0),第一次執(zhí)行時(shí)會(huì)出現(xiàn)登入窗口,輸入要登入的數(shù)據(jù)庫名稱(瀏覽網(wǎng)絡(luò)上的芳鄰,找到 2.1.5 節(jié)所分享出來的數(shù)據(jù)庫目錄),然后輸入使用者名稱和密碼,即可登入數(shù)據(jù)庫。參考下圖:VSS Ad

17、min 提供一個(gè)選項(xiàng),可以在登入時(shí)自動(dòng)以目前登入 Widnows 的使用者名稱來登入數(shù)據(jù)庫,前提是 VSS 的使用者名稱要和 Windows 的使者名稱相同。方法是將 VSS Admin 的ToolsOptions的 General 頁夾中的 Use network name for automatic user login 項(xiàng)目打勾。以后再次執(zhí)行 VSS Explorer 時(shí),就會(huì)自動(dòng)以該使用者名稱登入,而不會(huì)出現(xiàn)登入畫面。2.2.3建立項(xiàng)目登入數(shù)據(jù)庫之后,由于是第一次執(zhí)行,所以沒有建立任何項(xiàng)目,看到的畫面會(huì)像下面這張圖:左邊是以樹狀顯示的項(xiàng)目面板,$/ 是 VSS 的 root proje

18、ct,所有的項(xiàng)目都是建立在此節(jié)點(diǎn)之下;右邊會(huì)顯示目前的項(xiàng)目的檔案清單;下方狀態(tài)列中則顯示提示訊息、目前登入的使用者名稱、檔案的排序方式、以及檔案數(shù)量。以下步驟示范如何建立一個(gè)項(xiàng)目,該項(xiàng)目的檔案目錄已經(jīng)事先建立好,位置是 D:ProjectsDemo1,而且該目錄下已經(jīng)存在所有文件和程序代碼檔案。1. 在項(xiàng)目面板中的 $/ 節(jié)點(diǎn)上面點(diǎn)一下右鍵,然后點(diǎn)選Create Project.。在接下來開啟的窗口中輸入項(xiàng)目名稱 Demo1,再按 Ok 鈕即可建立項(xiàng)目。2. 接著將檔案加入此項(xiàng)目節(jié)點(diǎn)。做法是在項(xiàng)目面板中的 Demo1 節(jié)點(diǎn)點(diǎn)一下,然后點(diǎn)選FileAdd Files.或按 Ctrl+A。3. 接

19、著將項(xiàng)目 Demo1 目錄下,要加入版本管理的子目錄加進(jìn)來,例如:若要加入 Src 目錄,則照下圖方式操作:注意必須雙擊欲加入的數(shù)據(jù)夾,使其圖標(biāo)變成開啟的樣子,才是加入該數(shù)據(jù)夾。確定之后按 Add 鈕即可加入,加入數(shù)據(jù)夾的窗口左下角的 Recursive 項(xiàng)目通常會(huì)打勾,也就是該數(shù)據(jù)夾底下的子目錄也要一并加入。Tip: 你也可以用鼠標(biāo)拖曳的方式加入檔案或資料夾。Tip: 當(dāng)你在加入檔案時(shí),如果臨時(shí)要取消,可以按畫面方狀態(tài)列最左邊的Cancel鈕。事實(shí)上,只要是比較花時(shí)間的工作,都會(huì)出現(xiàn)Cancel鈕讓你有機(jī)會(huì)取消工作。4. 數(shù)據(jù)夾加入之后,程序會(huì)詢問你是否要將此數(shù)據(jù)夾設(shè)定為工作目錄(worki

20、ng folder),回答 Yes 即可。參考下列畫面:此對(duì)話盒關(guān)閉后即會(huì)回加入數(shù)據(jù)夾的窗口,若不需要加入其它目錄,就按 Close 鈕關(guān)閉此窗口。5. 此時(shí)畫面應(yīng)會(huì)顯示如下圖:注意項(xiàng)目面板中的節(jié)點(diǎn)必須設(shè)定成工作目錄(working folder)才能夠?qū)υ撃夸泩?zhí)行 check in/check out 動(dòng)作,例如此范例中的 Demo1 節(jié)點(diǎn),它是我們自行建立的邏輯項(xiàng)目,并未設(shè)定其工作目錄(也就是沒有對(duì)應(yīng)到實(shí)體的目錄),因此當(dāng)你點(diǎn)選 Demo1 節(jié)點(diǎn)時(shí),右邊面板上方的狀態(tài)會(huì)顯示 No Working Folder。如果你需要將 Demo1 目錄底下的所有目錄都納入 VSS 管理,也可以省略步驟

21、 1,而在步驟 2 加入檔案時(shí),直接開啟 D:ProjectsDemo1 數(shù)據(jù)夾,這樣就會(huì)連同 Demo1 這個(gè)目錄一并加入,且同時(shí)為它設(shè)定工作目錄。2.2.4設(shè)定工作目錄建立項(xiàng)目之后,接著就是要設(shè)定工作目錄。首先,在 VSS Explorer 的項(xiàng)目面板里面找到你的項(xiàng)目,在該項(xiàng)目上點(diǎn)一下鼠標(biāo)右鍵,再點(diǎn)選Set Working Folder.,把目錄指向你的本機(jī)硬盤的項(xiàng)目目錄即可。只要父層的節(jié)點(diǎn)有設(shè)定工作目錄,其下的子節(jié)點(diǎn)就不用再指定工作目錄了。設(shè)定好工作目錄之后,就可以利用 VSS 執(zhí)行 Check Out 或 Get 動(dòng)作。如果你希望把整個(gè)項(xiàng)目的目錄和檔案都先從從服務(wù)器取回來,并且復(fù)制到你

22、的工作目錄下,你可以使用 Get;方法是在項(xiàng)目名稱上點(diǎn)一下鼠標(biāo)右鍵,再點(diǎn)選Get Latest Version.,此時(shí)會(huì)開啟一個(gè)對(duì)話窗口,如下圖所示:注意左下角的 Recursive 項(xiàng)目,通常我們會(huì)希望連子目錄一并取回,所以要將此項(xiàng)目打勾。確定之后按OK鈕即可,遇到不存在的目錄,VSS 會(huì)問你要不要建立,選 Yes All 即可,完成之后,你可以開啟檔案總管,看一下工作目錄中的文件目錄結(jié)構(gòu),如果執(zhí)行的步驟正確,你需要的項(xiàng)目檔案和目錄 VSS 應(yīng)該都已經(jīng)幫你從服務(wù)器復(fù)制過來了。此動(dòng)作并非必要,你可以等到你要讀取或修改某個(gè)檔案時(shí),再去 Get 或 Check Out 該檔案,到時(shí)候 VSS 一樣

23、會(huì)幫你建立必要的目錄。如果你希望每次取得(get)或 check out 檔案時(shí),Recursive 項(xiàng)目都要自動(dòng)勾選,你可以在ToolsOptions的 General 頁夾更改這個(gè)預(yù)設(shè)設(shè)定,參考下圖:項(xiàng)目完成時(shí),或者需要對(duì)現(xiàn)有版本進(jìn)行建置與發(fā)行時(shí),可以在服務(wù)器的計(jì)算機(jī)上開啟 VSS Explorer,利用Get Lastest Version取得最新版本,你便可以在服務(wù)器端進(jìn)行建置或者備份項(xiàng)目的工作;或者,你也可以透過影子目錄(shadow folder)的功能,來達(dá)到相同的目的(參考 3.4 節(jié))。3. 其它功能本節(jié)將介紹 VSS 的其它功能,包括: 多重 checkouts 檔案的共享

24、(Share)與分枝(Branch) 影子目錄(Shadow Folder) 3.1 多重 checkoutsVSS 預(yù)設(shè)不允許多重 checkouts,也就是當(dāng)一個(gè)檔案或目錄被一個(gè)使用者 check out 之后,其它使用者就不能再 check out 該檔案目錄。當(dāng)你的小組可能為多人同時(shí)修改一個(gè)檔案,或多人同時(shí)修改一個(gè)目錄里面的各個(gè)檔案時(shí),可以將多重 checkouts 的功能開啟。設(shè)定方法是在 VSS Admin 管理工具里面,將ToolsOptions的 General 頁夾里的 Allow multiple checkouts 項(xiàng)目打勾。使用多重 checkouts 時(shí),有些值得特別

25、注意的地方,例如:一個(gè)檔案由多人同修改時(shí),VSS 將如何處理?以下將說明相關(guān)的注意事項(xiàng)。文字文件 v.s. 進(jìn)位檔當(dāng)你開啟多重 checkouts 選項(xiàng)時(shí),表示有可能一個(gè)檔案同時(shí)由多人修改,而 VSS 能夠?qū)⑦@些人對(duì)同一個(gè)檔案的修改結(jié)果合并(merge)起來,每當(dāng)一個(gè)使用者 check in 檔案時(shí),VSS 就會(huì)自動(dòng)進(jìn)行 merge。也由于 VSS 提供了這項(xiàng)功能,因此限定只有文字文件(text files)才能夠多重 checkouts,二進(jìn)制檔案(binary files)仍然是禁止的。VSS 會(huì)自動(dòng)判斷檔案是屬于文字文件還是二進(jìn)制文件(藉由搜尋二進(jìn)制的 0x0 字符),你也可以預(yù)先指定好

26、哪些檔案類型是二進(jìn)制文件,省得 VSS 還要花時(shí)間判斷;方法是:開啟 VSS Admin 的ToolsOptions,切到 File Types 頁夾,把二進(jìn)制檔案的附文件名加入 Binary files 字段里。參考下圖:注:所謂的文字文件,通常是指可以用記事本開啟的純文本文件,因此 WORD 文件(.DOC)檔案應(yīng)該歸類為二進(jìn)制檔案。圖中的 File groups 清單里面,筆者自行加入了 Delphi 項(xiàng)目會(huì)用到的檔案類型,這項(xiàng)設(shè)定是用在當(dāng)你加入檔案時(shí),顯示在檔案類型下拉盒中,方便你挑選檔案而已,如下圖:其實(shí)大部分的情況下,用預(yù)設(shè)的 *.* 就行了。合并機(jī)制當(dāng)一個(gè)檔案被多人 check

27、out 時(shí),每當(dāng)有人將該檔案 check in,VSS 就會(huì)自動(dòng)比對(duì)檔案的差異,并且合并有差異的部分??紤]下面的場景:1. 張三與李四都 check out 了 foo.txt 這個(gè)檔案。2. 張三修改了 foo.txt 的第 100 行,并且 check in。3. 李四修改了 foo.txt 的第 200 行,并且在 210 行的地方加入了 5 行程序代碼。4. 李四改完了,并且 check in。上面的例子對(duì) VSS 來說毫無困難,它會(huì)安靜地自動(dòng)合并張三和李四所做的修改。但不是所有情況都這么完美,萬一兩個(gè)人都修改了同一行程序代碼,此時(shí) VSS 就無法替你做決定,必須由你自己決定怎樣合并檔

28、案??紤]下面的場景:1. Carol 與 Michael 都把 test.txt 取出來修改。2. Carol 修改了第 1 行,然后 check in。3. Michael 也修改了第 1 行,然后 check in。這時(shí)候 VSS 無法判定到底要怎么合并,于是開啟窗口顯示兩個(gè)版本的差異,讓后面 check in 的人(Michael)決定怎么合并,參考下圖:圖中分為三個(gè)面板,左上角的面板是目前服務(wù)器上的版本(上一個(gè)人 check out 的版本),右上角是本地端的版本,下方面板則是合并后的版本;此時(shí) Michael 就可以從兩個(gè)版本中觀察差異的部分,決定好怎么修改后,在左邊或右邊面板中點(diǎn)鼠

29、標(biāo)右鍵,選擇Apply Change來把要改變的內(nèi)容套用到下方面板。你也可以修改下方面板的文字內(nèi)容,改好后按工具列的儲(chǔ)存鈕(磁盤的圖標(biāo))即可。附帶一提,你可以從 VSS Explorer 顯示的畫面看出一個(gè)檔案是否被多人取出修改。如下圖的 test.txt,在文件名稱的左邊有兩個(gè)勾勾的圖示,而 User 欄則顯示最后一次 check out 的使用者名稱,后面加上 .。值得采用嗎?萬一 VSS 無法自動(dòng)合并,手動(dòng)合并似乎有點(diǎn)麻煩,這樣做值得嗎?還是干脆不允許多重 checkouts?筆者的建議是,只有當(dāng)你真正碰到的時(shí)候,才把這個(gè)功能打開。舉例來說,在一個(gè)項(xiàng)目里面,可能會(huì)有一些共享的程序代碼,這

30、些共享的程序代碼平時(shí)可能由一個(gè)人維護(hù),例如:AppUtils.cpp;但是也有可能別的程序設(shè)計(jì)師寫了一些共享的函式,為了避免共享的程序代碼散亂在太多檔案里面,于是他希望把自己寫的共享函式也放到 AppUtils.cpp 里面,于是便形成了多人要維護(hù)同一個(gè)檔案的情形,此時(shí)就很適合使用多重 checkouts 了,因?yàn)殡m然改的是同一個(gè)檔案,各人要改的部分會(huì)彼此沖突的情況不多,此時(shí) VSS 將可以自動(dòng)處理 90% 以上的合并。3.2 檔案的共享(Share)與分枝(Branch)你可以指定一個(gè)檔案讓多個(gè)項(xiàng)目共享,方法是在 VSS Explorer 的項(xiàng)目面板中,挑選要共享的目錄,注意不是分享出去的目

31、錄,而是指你現(xiàn)在想要使用別人的共享檔案的那個(gè)項(xiàng)目目錄,在該目錄上點(diǎn)右鍵,再點(diǎn)選Share,這時(shí)候出現(xiàn)的窗口才是要挑選來源的共享檔案,在窗口中選好要共享的檔案,然后按Share即可。參考下圖:檔案4.設(shè)定成共享之后,當(dāng)你對(duì)共享檔案 check out,不管是提供共享檔案的來源項(xiàng)目,還是使用這些共享檔案的項(xiàng)目,其目錄下都會(huì)有一份共享檔案的拷貝,但是 VSS 保證這些檔案內(nèi)容都會(huì)一致,VSS 透過 Share 的設(shè)定來維護(hù)各項(xiàng)目間共享檔案的連結(jié),讓共享檔案維持一個(gè)版本。你也可以透過分枝(Branch)的功能來切斷共享檔案的連結(jié),這意味著你不要再跟別人共享這個(gè)檔案了,而希望保有獨(dú)立發(fā)展的版本。做法是在

32、 VSS Explorer 的右邊面板中,點(diǎn)選要切斷共享關(guān)系的檔案,然后點(diǎn)選SourceSafeBranch.,接著會(huì)出現(xiàn)窗口請(qǐng)你確認(rèn),按OK鈕即可。切斷共享關(guān)系之后,其它項(xiàng)目的共享關(guān)系依然存在,只有自己跟別人脫離關(guān)系而已。3.3 影子目錄(Shadow Folder)由于所有的修改記錄和最新版本的檔案都存在 VSS 數(shù)據(jù)庫中,如果其它人(例如:項(xiàng)目經(jīng)理、系統(tǒng)分析師、建構(gòu)師)經(jīng)常需要讀取最新版的檔案,但是又不想要安裝 VSS,就可以使用 Shadow Folder 功能,讓這些人可以透過檔案總管的方式讀取檔案(只能讀取,不能修改)。設(shè)定 Shadow Folder 的方法是在 VSS Admi

33、n 工具中點(diǎn)選ToolsOptions,然后切到 Shadow Folders 頁夾,先輸入要設(shè)定 shadow folder 的項(xiàng)目,你也可以點(diǎn)旁邊的Browse鈕,用鼠標(biāo)來選擇項(xiàng)目;接著輸入影子目錄的實(shí)體路徑名稱,設(shè)定完之后按確定鈕即可。如果你要一次設(shè)定多個(gè)項(xiàng)目的影子目錄,可以在每一個(gè)項(xiàng)目設(shè)定完后按Set Another鈕。參考下圖:如果要取消影子目錄,只要先輸入項(xiàng)目名稱,然后把 Set shadow folder to 這個(gè)字段清除就行了。注意: 影子目錄通常是服務(wù)器上的目錄,建議使用 UNC 路徑名稱,若使用像 C:Projects 之類的本機(jī)磁盤驅(qū)動(dòng)器名稱,則每個(gè)使用者的機(jī)器上都會(huì)維護(hù)一份 Shadow Folder 檔案。 你必須確定每個(gè)開發(fā)人員都有權(quán)限存取影子目錄,否則當(dāng)他們 check in 檔案時(shí),就會(huì)出現(xiàn)錯(cuò)誤。 4. 結(jié)語最后,筆者整理出幾個(gè)使用 VSS 時(shí)的重點(diǎn)步驟及快速鍵(假設(shè)數(shù)據(jù)庫和使用者賬戶都已經(jīng)建立好了):1. 登入 VSS 數(shù)據(jù)庫,開啟 VSS Explorer 時(shí)就會(huì)要求登入,也可以點(diǎn)選FilesOpen SourceSafe Database.或按 Ctrl+P 來登入別的數(shù)據(jù)庫。 2. 建立項(xiàng)目,F(xiàn)ileCreate

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論