Visual+SourceSafe入门教学

Visual SourceSafe入门教学
作者:蔡煥麟日期:Sep-4-2003作者:蔡焕麟 日期:Sep-4-2003
摘要摘要
本文介紹了版本管理的基本概念,以及Visual SourceSafe 的基礎功能,目的在於希望提供一個能夠快速上手的入門指南,讓初學者能儘快將它用在專案管理上,同時也具備學習其他進階議題的基礎。本文介绍了版本管理的基本概念,以及Visual SourceSafe的基础功能,目的在于希望提供一个能够快速上手的入门指南,让初学者能尽快将它用在项目管理上,同时也具备学习其他高级功能的基础。
1. 簡介 1.简介
在軟體工程的領域裡,有一塊叫做SCMSoftware Configuration Management),有人管它叫「軟體建構管理」。在软件工程的领域里,有一块叫做SCMSoftware Configuration Management),有人管它叫「软件配置管理」。 SCM 的傳統定義是原始碼的版本管理,後來則逐漸演進擴大,還包含了軟體開發的一些標準和程序的制定與應用[Summerville 2000] SCM的传统定义是源代码的版本管理,后来则逐渐演进扩大,还包含了软件开发的一些标准和程序的制定与应用[Summerville 2000] 版本管理工具對目前的軟體開發開環境來說相當重要,因為不管是軟硬體環境的改變、需求改變、軟體本身的等等,都會令軟體不斷地演進,我們必須記錄各個版本,以便隨時比對版本之間的差異,或者回到(rollback to)過去的某個版本;此外,當專案小組成員眾多時,工作交接、多人修改同一個檔案等情況,都有可能造成檔案的版本混亂。版本管理工具对目前的软件开发开环境来说相当重要,因为不管是软硬件环境的改变、需求改变、软件本身的等等,都会令软件不断地演进,我们必须记录各个版本,以便随时比对版本之间的差异,或者回滚到(rollback to)过去的某个版本;此外,当项目小组成员众多时,工作交接、多人修
改同一个文件等情况,都有可能造成文件的版本混乱。 例如一支程式本來由張三撰寫,可是因為某些原因(請假、臨時支援其他專案、請別人)暫時由李四修改,後來又交回給張三。例如一个程序本来由张三编写,可是因为某些原因(请假、临时支援其他项目、请别人)暂时由李四修改,后来又交回给张三。 如果用傳統的檔案共享機制,每次有這種情形就要互相通知:我改好囉,請把檔案從檔案伺服器搬回你家,萬一有人忘了,可能就會造成檔案版本錯亂,而東西交到客戶手上才發現bug 依然存在。如果用传统的文件共享机制,每次有这种情形就要互相通知:我改好啰,请把文件从文件服务器搬回你家,万一有人忘了,可能就会造成文件版本错乱,而东西交到客户手上才发现bug依然存在。
因此,如果你曾碰過下列情形,而且深感困擾,你可能就需要版本管理工具的協助:因此,如果你曾碰过下列情形,而且深感困扰,你可能就需要版本管理工具的协助:
檔案不見了(用滑鼠拖放檔案時誤動作,不知道拖去哪兒放了);文件不见了(用鼠标拖放文件时误动作,不知道拖去哪儿放了);
檔案被別人覆蓋;文件被别人覆盖;
想要比對各版本之間有何差異;想要比对各版本之间有何差异;
想要回到之前修改的版本(客戶反覆無常,設計改來改去....);想要回到之前修改的版本(客户反覆无常,设计改来改去....);
多人同時修改造成的版本混亂;多人同时修改造成的版本混乱;
想要知道誰動過的我的程式碼;想要知道谁动过的我的源代码;
跨專案共享元件或模組散落在各處。跨项目共享软件或模块散落在各处。
目前市場上的版本管理工具已經有很多,環肥燕瘦任君挑選,以下幾個可能是大家比較熟悉的:目前市场上的版本管理工具已经有很多,环肥燕瘦任君挑选,以下几个可能是大家比较熟悉的:
Rational Clear Case Rational Clear Case
Borland StarTeam Borland StarTeam
Merant PVCS Version Manager Merant PVCS Version Manager
Microsoft Visual SourceSafeVSS Microsoft Visual SourceSafeVSS
Concurrent Versions SystemCVS Concurrent Versions SystemCVS
CVS 雖然免費,也有視窗介面,但是入門門檻還是偏高,不易入手,以unix/linux 社用得較多;StarTeam ClearCase 功能較強大,價格當然也較貴;PVCS 個人也沒使用過,無法提供意見;而Visual SourceSafeVSS)功能雖然比較陽春,但是筆者試用之後,覺得如果只需要管理多人開發時的文件和原始碼版本,其實還挺好用的,也很容易上手。 CVS虽然免费,也有图形化介面,但是入门门槛还是偏高,不易入手,以unix/linux社用得较多;StarTeamClearCase功能较强大,价格当然也较贵;PVCS个人也没使用过,无法提供意见;而Visual SourceSafeVSS)功能虽然比较阳春,但是笔者试用之后,觉得如果只需要管理多人开发时的文件和源代码版本,其实还挺好用的,也很容易上手。 VSS Visual Studio .NET 光碟中就有附了,價格算是相當實惠。 VS
SVisual Studio .NET光盘中就有附了,价格算是相当实惠。 以下是使用VSS 管理原始碼的好處(有些不是VSS 特有的):以下是使用VSS管理源代码的好处(有些不是VSS特有的):
建構人員可以實施每週的里程碑版本建立,統一編譯所有程式碼,確保交給客戶的版本一定是最新的,不會因為某個開發人員忘了把自家local 的檔案複製到server 的共享目錄而遺漏掉。建构人员可以实施每周的里程碑版本建立,统一编译所有源代码,确保交给客户的版本一定是最新的,不会因为某个开发人员忘了把自家local的文件复制到server的共享目录而遗漏掉。
leader 不用一天到晚打電話或發mail 去追誰還沒有把新的檔案放上file server leader不用一天到晚打电话或发mail去追谁还没有把新的文件放上file server
共用單元的更新更簡便、確實。共享单元的更新更简便、确实。
提供獨立且細微的user 權限控管,沒有Windows 檔案分享時的帳戶權限檢查困擾。提供独立且细微的user权限管理,没有Windows文件共享时的帐户权限检查困扰。
同一個檔案多人同時修改可自動merge 最後的修改成果。同一个文件多人同时修改可自动merge最后的修改成果。
可將歷史版本叫出來比對,顯示差異處,以進行合併或修正。可将历史版本拿出来比对,显示差异处,以进行合并或修正。
提供Web 應用程式的檔案佈署功能。提供Web应用程序的文件布署功能。
可以和多種開發工具整合,例如:Visual BasicVisual Studio .NETFrontPage 200x可以和多种开发工具整合,例如:Visual BasicVisual Studio .NETFrontPage 200x
註:撰寫此文件時,使用的是VSS 版本是Visual Studio .NET 1.0 附的Visual SourceSafe 6.0cscm文件注:撰写此文件时,使用的是VSS版本是Visual Studio .NET 1.0附的Visual SourceSafe 6.0c
1.1 基本概念 1.1基本概念
想像一下沒有工具協助的情況下,當多人同時修改一份文件時,要如何確保文件的版本一致?想像一下没有工具协助的情况下,当多人同时修改一份文件时,要如何确保文件的版本一致?
也許你可以指派一位專人負責管理文件的進出,這個人姑且就叫他Manager 好了,Manager 待在一間小小的辦公室裡,負責文件庫的維護和文件的進出。也许你可以指派一位专人负责管理文件的进出,这个人姑且就叫他Manager好了,Manager待在一间小小的办公室里,负责文件库的维护和文件的进出。 當小組成員Eric 要修改文件時,就拿磁片到這個窗口請Manager 複製一份給他,Manager 在複製的同時會記下來:這份文件正由Eric 修改;而Eric 則會把磁片拿到他自己的機器上,把檔案複製到他的工作目錄(working folder),然後進行修改。当小组成员Eric要修改文件时,就拿磁盘到这个窗口请Manager复制一份给他,Manager在复制的同时会记下来:这份文件正由Eric修改;而Eric则会把磁盘拿到他自己的机器上,把文件复制到他的工作目录(working folder),然后进行修改。 等到Eric 修改完畢,再從工作目錄中把檔案複製到磁片上交給Manager,最後文件就被更新到文件庫中(這動作叫做check in),至此整個文件的修改與更新的程序就完成了。等到Eric修改完毕,再从工作目录中把文件复制到磁盘上交给Manager,最后文件就被更新到文件库中(这动作叫做check in),至此整个文件的修改与更新的程序就完成了。 如果在Eric 修改期間,Vivid 也拿著磁片向Manager 要求修改同一份文件,這時Manager 會告訴Vivid:這份文件目前已經由Eric 領出(check out),且還在修改當中,你得等他改完才行喔。如果在Eric修改期间,Vivid也拿着磁盘向Manager要求修改同一份文件,这时Manager会告诉Vivid:这份文件目前已经由Eric领出(check out),且还在修改当中,你得等他改完才行喔。
以目前的作業環境來看,使用磁片來傳遞檔案似乎是原始人的行徑,我們當然可以透過網路來傳遞檔案,但是透過網路傳遞檔案卻無法提供上面的例子所要表達的重點:檔案的鎖定。以目前的作业环境来看,使用磁盘来传递文件似乎是原始人的行径,我们当然可以透过网络来传递文件,但是透过网络传递文件却无法提供上面的例子所要表达的重点:文件的锁定。 而鎖定機制就是VSS(或其他版本管理工具)提供的基本功能之一,它確保了多人修改文件時,版本的一致性。而锁定机制就是VSS(或其他版本管理工具)提供的基本功能之一,它确保了多人修改文件时,版本的一致性。 上面這個例子當中的文件庫,就相當於VSS 的資料庫,而VSS 的用戶端工具(稱為VSS Explorer)則扮演了Manager 的角。上面这个例子当中的文件库,就相当于VSS的数据库,而VSS的客户端工具(称为VSS Explorer)则扮演了Manager的角。
當然VSS 提供的功能更多,它也允許多人同時取出(check out)同一個檔案進行修改,並且在將檔案送回(check in)資料庫時,自動進行合併(merge),這屬於比較進階的功能,稍後亦會提到。当然VSS提供的功能更多,它也允许多人同时取出(checkout)同一个文件进行修改,并且在将文件送回(check in)数据库时,自动进行合并(merge),这属于比较进阶的功能,稍后亦会提到。
現在你應該已經大概知道什麼是VSS 資料庫、什麼是check incheck out,以及文件修改的流程了,接下來就把一些常見的VSS 術語列出來,在閱讀本文時,如果碰到不了解的術語,也可以隨時回查看。现在你应该已经大概知道什么是VSS数据库、什么是check incheck out,以及文件修改的流程了,接下来就把一些常见的VSS术语列出来,在阅读本文时,如果碰到不了解的术语,也可以随时回头查看。

本文发布于:2024-09-22 19:28:57,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/381774.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   版本   修改   檔案   提供   可能   功能   管理
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议