Visual SourceSafe 入門教學

本文介绍了Visual SourceSafe(VSS)的基础功能和使用方法,包括安装、设置、基本概念和常见功能。VSS是一种版本管理工具,适用于多人协作开发时的文件和源代码版本控制,确保文件一致性。教程涵盖了从创建数据库、设置用户账户到实现文件的检入/检出、合并及共享等功能,并讨论了VSS在多用户同时修改文件时的处理机制。
摘要由CSDN通过智能技术生成

Visual SourceSafe 入門教學

作者:蔡煥麟
日期:Sep-4-2003

摘要

本文介紹了版本管理的基本概念,以及 Visual SourceSafe 的基礎功能,目的在於希望提供一個能夠快速上手的入門指南,讓初學者能儘快將它用在專案管理上,同時也具備學習其他進階議題的基礎。


1. 簡介

在軟體工程的領域裡,有一塊叫做 SCM(Software Configuration Management),有人管它叫「軟體建構管理」。SCM 的傳統定義是原始碼的版本管理,後來則逐漸演進擴大,還包含了軟體開發的一些標準和程序的制定與應用 [Summerville 2000]。版本管理工具對目前的軟體開發開環境來說相當重要,因為不管是軟硬體環境的改變、需求改變、軟體本身的 bug...等等,都會令軟體不斷地演進,我們必須記錄各個版本,以便隨時比對版本之間的差異,或者回到(rollback to)過去的某個版本;此外,當專案小組成員眾多時,工作交接、多人修改同一個檔案等情況,都有可能造成檔案的版本混亂。例如一支程式本來由張三撰寫,可是因為某些原因(請假、臨時支援其他專案、請別人 debug....)暫時由李四修改,後來又交回給張三。如果用傳統的檔案共享機制,每次有這種情形就要互相通知:我改好囉,請把檔案從檔案伺服器搬回你家,萬一有人忘了,可能就會造成檔案版本錯亂,而東西交到客戶手上才發現 bug 依然存在。

因此,如果你曾碰過下列情形,而且深感困擾,你可能就需要版本管理工具的協助:

  • 檔案不見了(用滑鼠拖放檔案時誤動作,不知道拖去哪兒放了);
  • 檔案被別人覆蓋;
  • 想要比對各版本之間有何差異;
  • 想要回到之前修改的版本(客戶反覆無常,設計改來改去....);
  • 多人同時修改造成的版本混亂;
  • 想要知道誰動過的我的程式碼;
  • 跨專案共享元件或模組散落在各處。

目前市場上的版本管理工具已經有很多,環肥燕瘦任君挑選,以下幾個可能是大家比較熟悉的:

  • Rational Clear Case
  • Borland StarTeam 
  • Merant PVCS Version Manager
  • Microsoft Visual SourceSafe(VSS)
  • Concurrent Versions System(CVS)

CVS 雖然免費,也有視窗介面,但是入門門檻還是偏高,不易入手,以 unix/linux 社群用得較多;StarTeam 和 ClearCase 功能較強大,價格當然也較貴;PVCS 個人也沒使用過,無法提供意見;而 Visual SourceSafe(VSS)功能雖然比較陽春,但是筆者試用之後,覺得如果只需要管理多人開發時的文件和原始碼版本,其實還挺好用的,也很容易上手。VSS 在 Visual Studio .NET 光碟中就有附了,價格算是相當實惠。以下是使用 VSS 管理原始碼的好處(有些不是 VSS 特有的):

  • 建構人員可以實施每週的里程碑版本建立,統一編譯所有程式碼,確保交給客戶的版本一定是最新的,不會因為某個開發人員忘了把自家 local 的檔案複製到 server 的共享目錄而遺漏掉。 
  • leader 不用一天到晚打電話或發 mail 去追誰還沒有把新的檔案放上 file server。 
  • 共用單元的更新更簡便、確實。 
  • 提供獨立且細微的 user 權限控管,沒有 Windows 檔案分享時的帳戶權限檢查困擾。 
  • 同一個檔案多人同時修改可自動 merge 最後的修改成果。 
  • 可將歷史版本叫出來比對,顯示差異處,以進行合併或修正。
  • 提供 Web 應用程式的檔案佈署功能。
  • 可以和多種開發工具整合,例如:Visual Basic、Visual Studio .NET、FrontPage 200x。

註:撰寫此文件時,使用的是 VSS 版本是 Visual Studio .NET 1.0 附的 Visual SourceSafe 6.0c。

1.1 基本概念

想像一下沒有工具協助的情況下,當多人同時修改一份文件時,要如何確保文件的版本一致?

也許你可以指派一位專人負責管理文件的進出,這個人姑且就叫他 Manager 好了,Manager 待在一間小小的辦公室裡,負責文件庫的維護和文件的進出。當小組成員 Eric 要修改文件時,就拿磁片到這個窗口請 Manager 複製一份給他,Manager 在複製的同時會記下來:這份文件正由 Eric 修改;而 Eric 則會把磁片拿到他自己的機器上,把檔案複製到他的工作目錄(working folder),然後進行修改。等到 Eric 修改完畢,再從工作目錄中把檔案複製到磁片上交給 Manager,最後文件就被更新到文件庫中(這動作叫做 check in),至此整個文件的修改與更新的程序就完成了。如果在 Eric 修改期間,Vivid 也拿著磁片向 Manager 要求修改同一份文件,這時 Manager 會告訴 Vivid:這份文件目前已經由 Eric 領出(check out),且還在修改當中,你得等他改完才行喔。

以目前的作業環境來看,使用磁片來傳遞檔案似乎是原始人的行徑,我們當然可以透過網路來傳遞檔案,但是透過網路傳遞檔案卻無法提供上面的例子所要表達的重點:檔案的鎖定。而鎖定機制就是 VSS(或其他版本管理工具)提供的基本功能之一,它確保了多人修改文件時,版本的一致性。上面這個例子當中的文件庫,就相當於 VSS 的資料庫,而 VSS 的用戶端工具(稱為 VSS Explorer)則扮演了 Manager 的角色。

當然 VSS 提供的功能更多,它也允許多人同時取出(check out)同一個檔案進行修改,並且在將檔案送回(check in)資料庫時,自動進行合併(merge),這屬於比較進階的功能,稍後亦會提到。

現在你應該已經大概知道什麼是 VSS 資料庫、什麼是 check in、check out,以及文件修改的流程了,接下來就把一些常見的 VSS 術語列出來,在閱讀本文時,如果碰到不了解的術語,也可以隨時回頭查看。

以下是使用 VSS 時常見的術語:

術語 說明
VSS 資料庫 VSS 會使用一個資料庫來儲存各專案的程式碼版本(包括歷史版本和最新版本的檔案)。
Project VSS 專案,是一個專案檔案的邏輯結構,跟作業系統的目錄類似(注意不是指特殊開發工具的專案,例如:VB 專案)。
Work
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值